<lexer> <config> <name>Angular2</name> <alias>ng2</alias> </config> <rules> <state name="attr"> <rule pattern="".*?""> <token type="LiteralString"/> <pop depth="1"/> </rule> <rule pattern="'.*?'"> <token type="LiteralString"/> <pop depth="1"/> </rule> <rule pattern="[^\s>]+"> <token type="LiteralString"/> <pop depth="1"/> </rule> </state> <state name="root"> <rule pattern="[^{([*#]+"> <token type="Other"/> </rule> <rule pattern="(\{\{)(\s*)"> <bygroups> <token type="CommentPreproc"/> <token type="Text"/> </bygroups> <push state="ngExpression"/> </rule> <rule pattern="([([]+)([\w:.-]+)([\])]+)(\s*)(=)(\s*)"> <bygroups> <token type="Punctuation"/> <token type="NameAttribute"/> <token type="Punctuation"/> <token type="Text"/> <token type="Operator"/> <token type="Text"/> </bygroups> <push state="attr"/> </rule> <rule pattern="([([]+)([\w:.-]+)([\])]+)(\s*)"> <bygroups> <token type="Punctuation"/> <token type="NameAttribute"/> <token type="Punctuation"/> <token type="Text"/> </bygroups> </rule> <rule pattern="([*#])([\w:.-]+)(\s*)(=)(\s*)"> <bygroups> <token type="Punctuation"/> <token type="NameAttribute"/> <token type="Punctuation"/> <token type="Operator"/> </bygroups> <push state="attr"/> </rule> <rule pattern="([*#])([\w:.-]+)(\s*)"> <bygroups> <token type="Punctuation"/> <token type="NameAttribute"/> <token type="Punctuation"/> </bygroups> </rule> </state> <state name="ngExpression"> <rule pattern="\s+(\|\s+)?"> <token type="Text"/> </rule> <rule pattern="\}\}"> <token type="CommentPreproc"/> <pop depth="1"/> </rule> <rule pattern=":?(true|false)"> <token type="LiteralStringBoolean"/> </rule> <rule pattern=":?"(\\\\|\\"|[^"])*""> <token type="LiteralStringDouble"/> </rule> <rule pattern=":?'(\\\\|\\'|[^'])*'"> <token type="LiteralStringSingle"/> </rule> <rule pattern="[0-9](\.[0-9]*)?(eE[+-][0-9])?[flFLdD]?|0[xX][0-9a-fA-F]+[Ll]?"> <token type="LiteralNumber"/> </rule> <rule pattern="[a-zA-Z][\w-]*(\(.*\))?"> <token type="NameVariable"/> </rule> <rule pattern="\.[\w-]+(\(.*\))?"> <token type="NameVariable"/> </rule> <rule pattern="(\?)(\s*)([^}\s]+)(\s*)(:)(\s*)([^}\s]+)(\s*)"> <bygroups> <token type="Operator"/> <token type="Text"/> <token type="LiteralString"/> <token type="Text"/> <token type="Operator"/> <token type="Text"/> <token type="LiteralString"/> <token type="Text"/> </bygroups> </rule> </state> </rules> </lexer>