Try to create grammar_parser with dart peg, but I get a problem that is not supported by the "i" syntax. This parameter is used to ignore the case of the matched string.
https://github.com/cloudwebrtc/peg
SIP_Version = "SIP"i "/" DIGIT + "." DIGIT + {
data.sip_version = input.substring(pos, offset); }
Here is a patch for pegjs, and the dart version of peg requires a patch.
pegjs/pegjs@b540b2d