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>