1<lexer>
 2  <config>
 3    <name>Sed</name>
 4    <alias>sed</alias>
 5    <alias>gsed</alias>
 6    <alias>ssed</alias>
 7    <filename>*.sed</filename>
 8    <filename>*.[gs]sed</filename>
 9    <mime_type>text/x-sed</mime_type>
10  </config>
11  <rules>
12    <state name="root">
13      <rule pattern="\s+"><token type="TextWhitespace"/></rule>
14      <rule pattern="#.*$"><token type="CommentSingle"/></rule>
15      <rule pattern="[0-9]+"><token type="LiteralNumberInteger"/></rule>
16      <rule pattern="\$"><token type="Operator"/></rule>
17      <rule pattern="[{};,!]"><token type="Punctuation"/></rule>
18      <rule pattern="[dDFgGhHlnNpPqQxz=]"><token type="Keyword"/></rule>
19      <rule pattern="([berRtTvwW:])([^;\n]*)"><bygroups><token type="Keyword"/><token type="LiteralStringSingle"/></bygroups></rule>
20      <rule pattern="([aci])((?:.*?\\\n)*(?:.*?[^\\]$))"><bygroups><token type="Keyword"/><token type="LiteralStringDouble"/></bygroups></rule>
21      <rule pattern="([qQ])([0-9]*)"><bygroups><token type="Keyword"/><token type="LiteralNumberInteger"/></bygroups></rule>
22      <rule pattern="(/)((?:(?:\\[^\n]|[^\\])*?\\\n)*?(?:\\.|[^\\])*?)(/)"><bygroups><token type="Punctuation"/><token type="LiteralStringRegex"/><token type="Punctuation"/></bygroups></rule>
23      <rule pattern="(\\(.))((?:(?:\\[^\n]|[^\\])*?\\\n)*?(?:\\.|[^\\])*?)(\2)"><bygroups><token type="Punctuation"/>None<token type="LiteralStringRegex"/><token type="Punctuation"/></bygroups></rule>
24      <rule pattern="(y)(.)((?:(?:\\[^\n]|[^\\])*?\\\n)*?(?:\\.|[^\\])*?)(\2)((?:(?:\\[^\n]|[^\\])*?\\\n)*?(?:\\.|[^\\])*?)(\2)"><bygroups><token type="Keyword"/><token type="Punctuation"/><token type="LiteralStringSingle"/><token type="Punctuation"/><token type="LiteralStringSingle"/><token type="Punctuation"/></bygroups></rule>
25      <rule pattern="(s)(.)((?:(?:\\[^\n]|[^\\])*?\\\n)*?(?:\\.|[^\\])*?)(\2)((?:(?:\\[^\n]|[^\\])*?\\\n)*?(?:\\.|[^\\])*?)(\2)((?:[gpeIiMm]|[0-9])*)"><bygroups><token type="Keyword"/><token type="Punctuation"/><token type="LiteralStringRegex"/><token type="Punctuation"/><token type="LiteralStringSingle"/><token type="Punctuation"/><token type="Keyword"/></bygroups></rule>
26    </state>
27  </rules>
28</lexer>