<rule pattern="-?0[0-7]+">
        <token type="LiteralNumberOct"/>
      </rule>
      <rule pattern="-?0[xX][0-9a-fA-F]+">
        <token type="LiteralNumberHex"/>
      </rule>
      <rule pattern="-?0b[01_]+">
        <token type="LiteralNumberBin"/>
      </rule>
      <rule pattern="-?(0|[1-9][0-9]*)">
        <token type="LiteralNumberInteger"/>
      </rule>
      <rule pattern="&#39;(\\[&#39;&#34;\\abfnrtv]|\\x[0-9a-fA-F]{2}|\\[0-7]{1,3}|\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}|[^\\])&#39;">
        <token type="LiteralStringChar"/>
      </rule>
      <rule pattern="`[^`]*`">
        <token type="LiteralString"/>
      </rule>
    </state>
    <state name="root">
      <rule pattern="{{(- )?/\*(.|\n)*?\*/( -)?}}">
        <token type="CommentMultiline"/>
      </rule>
      <rule pattern="{{[-]?">
        <token type="CommentPreproc"/>
        <push state="template"/>
      </rule>
      <rule pattern="[^{]+">
        <token type="Other"/>
      </rule>
      <rule pattern="{">
        <token type="Other"/>
      </rule>
    </state>
  </rules>
</lexer>