'/*\n * Lexes Ragel input files.\n *\n * @LANG: c++\n *\n * Test works with split code gen.\n */' Comment.Multiline '\n' Text '\n' Text '#' Comment.Preproc 'include' Comment.Preproc ' ' Text '' Comment.PreprocFile '\n' Comment.Preproc '#' Comment.Preproc 'include' Comment.Preproc ' ' Text '' Comment.PreprocFile '\n' Comment.Preproc '#' Comment.Preproc 'include' Comment.Preproc ' ' Text '' Comment.PreprocFile '\n' Comment.Preproc '#' Comment.Preproc 'include' Comment.Preproc ' ' Text '' Comment.PreprocFile '\n' Comment.Preproc '\n' Text 'using' Keyword ' ' Text 'namespace' Keyword ' ' Text 'std' Name ';' Punctuation '\n' Text '\n' Text 'void' Keyword.Type ' ' Text 'escapeXML' Name.Function '(' Punctuation ' ' Text 'const' Keyword ' ' Text 'char' Keyword.Type ' ' Text '*' Operator 'data' Name ' ' Text ')' Punctuation '\n' Text '{' Punctuation '\n' Text '\t' Text 'while' Keyword ' ' Text '(' Punctuation ' ' Text '*' Operator 'data' Name ' ' Text '!' Operator '=' Operator ' ' Text '0' Literal.Number.Integer ' ' Text ')' Punctuation ' ' Text '{' Punctuation '\n' Text '\t\t' Text 'switch' Keyword ' ' Text '(' Punctuation ' ' Text '*' Operator 'data' Name ' ' Text ')' Punctuation ' ' Text '{' Punctuation '\n' Text '\t\t\t' Text 'case' Keyword ' ' Text "'" Literal.String.Char '<' Literal.String.Char "'" Literal.String.Char ':' Operator ' ' Text 'cout' Name ' ' Text '<' Operator '<' Operator ' ' Text '"' Literal.String '<' Literal.String '"' Literal.String ';' Punctuation ' ' Text 'break' Keyword ';' Punctuation '\n' Text '\t\t\t' Text 'case' Keyword ' ' Text "'" Literal.String.Char '>' Literal.String.Char "'" Literal.String.Char ':' Operator ' ' Text 'cout' Name ' ' Text '<' Operator '<' Operator ' ' Text '"' Literal.String '>' Literal.String '"' Literal.String ';' Punctuation ' ' Text 'break' Keyword ';' Punctuation '\n' Text '\t\t\t' Text 'case' Keyword ' ' Text "'" Literal.String.Char '&' Literal.String.Char "'" Literal.String.Char ':' Operator ' ' Text 'cout' Name ' ' Text '<' Operator '<' Operator ' ' Text '"' Literal.String '&' Literal.String '"' Literal.String ';' Punctuation ' ' Text 'break' Keyword ';' Punctuation '\n' Text '\t\t\t' Text 'default' Keyword ':' Operator ' ' Text 'cout' Name ' ' Text '<' Operator '<' Operator ' ' Text '*' Operator 'data' Name ';' Punctuation ' ' Text 'break' Keyword ';' Punctuation '\n' Text '\t\t' Text '}' Punctuation '\n' Text '\t\t' Text 'data' Name ' ' Text '+' Operator '=' Operator ' ' Text '1' Literal.Number.Integer ';' Punctuation '\n' Text '\t' Text '}' Punctuation '\n' Text '}' Punctuation '\n' Text '\n' Text 'void' Keyword.Type ' ' Text 'escapeXML' Name.Function '(' Punctuation ' ' Text 'char' Keyword.Type ' ' Text 'c' Name ' ' Text ')' Punctuation '\n' Text '{' Punctuation '\n' Text '\t' Text 'switch' Keyword ' ' Text '(' Punctuation ' ' Text 'c' Name ' ' Text ')' Punctuation ' ' Text '{' Punctuation '\n' Text '\t\t' Text 'case' Keyword ' ' Text "'" Literal.String.Char '<' Literal.String.Char "'" Literal.String.Char ':' Operator ' ' Text 'cout' Name ' ' Text '<' Operator '<' Operator ' ' Text '"' Literal.String '<' Literal.String '"' Literal.String ';' Punctuation ' ' Text 'break' Keyword ';' Punctuation '\n' Text '\t\t' Text 'case' Keyword ' ' Text "'" Literal.String.Char '>' Literal.String.Char "'" Literal.String.Char ':' Operator ' ' Text 'cout' Name ' ' Text '<' Operator '<' Operator ' ' Text '"' Literal.String '>' Literal.String '"' Literal.String ';' Punctuation ' ' Text 'break' Keyword ';' Punctuation '\n' Text '\t\t' Text 'case' Keyword ' ' Text "'" Literal.String.Char '&' Literal.String.Char "'" Literal.String.Char ':' Operator ' ' Text 'cout' Name ' ' Text '<' Operator '<' Operator ' ' Text '"' Literal.String '&' Literal.String '"' Literal.String ';' Punctuation ' ' Text 'break' Keyword ';' Punctuation '\n' Text '\t\t' Text 'default' Keyword ':' Operator ' ' Text 'cout' Name ' ' Text '<' Operator '<' Operator ' ' Text 'c' Name ';' Punctuation ' ' Text 'break' Keyword ';' Punctuation '\n' Text '\t' Text '}' Punctuation '\n' Text '}' Punctuation '\n' Text '\n' Text 'void' Keyword.Type ' ' Text 'escapeXML' Name.Function '(' Punctuation ' ' Text 'const' Keyword ' ' Text 'char' Keyword.Type ' ' Text '*' Operator 'data' Name ',' Punctuation ' ' Text 'int' Keyword.Type ' ' Text 'len' Name ' ' Text ')' Punctuation '\n' Text '{' Punctuation '\n' Text '\t' Text 'for' Keyword ' ' Text '(' Punctuation ' ' Text 'const' Keyword ' ' Text 'char' Keyword.Type ' ' Text '*' Operator 'end' Name ' ' Text '=' Operator ' ' Text 'data' Name ' ' Text '+' Operator ' ' Text 'len' Name ';' Punctuation ' ' Text 'data' Name ' ' Text '!' Operator '=' Operator ' ' Text 'end' Name ';' Punctuation ' ' Text 'data' Name '+' Operator '+' Operator ' ' Text ')' Punctuation ' ' Text '{' Punctuation '\n' Text '\t\t' Text 'switch' Keyword ' ' Text '(' Punctuation ' ' Text '*' Operator 'data' Name ' ' Text ')' Punctuation ' ' Text '{' Punctuation '\n' Text '\t\t\t' Text 'case' Keyword ' ' Text "'" Literal.String.Char '<' Literal.String.Char "'" Literal.String.Char ':' Operator ' ' Text 'cout' Name ' ' Text '<' Operator '<' Operator ' ' Text '"' Literal.String '<' Literal.String '"' Literal.String ';' Punctuation ' ' Text 'break' Keyword ';' Punctuation '\n' Text '\t\t\t' Text 'case' Keyword ' ' Text "'" Literal.String.Char '>' Literal.String.Char "'" Literal.String.Char ':' Operator ' ' Text 'cout' Name ' ' Text '<' Operator '<' Operator ' ' Text '"' Literal.String '>' Literal.String '"' Literal.String ';' Punctuation ' ' Text 'break' Keyword ';' Punctuation '\n' Text '\t\t\t' Text 'case' Keyword ' ' Text "'" Literal.String.Char '&' Literal.String.Char "'" Literal.String.Char ':' Operator ' ' Text 'cout' Name ' ' Text '<' Operator '<' Operator ' ' Text '"' Literal.String '&' Literal.String '"' Literal.String ';' Punctuation ' ' Text 'break' Keyword ';' Punctuation '\n' Text '\t\t\t' Text 'default' Keyword ':' Operator ' ' Text 'cout' Name ' ' Text '<' Operator '<' Operator ' ' Text '*' Operator 'data' Name ';' Punctuation ' ' Text 'break' Keyword ';' Punctuation '\n' Text '\t\t' Text '}' Punctuation '\n' Text '\t' Text '}' Punctuation '\n' Text '}' Punctuation '\n' Text '\n' Text 'inline' Keyword.Reserved ' ' Text 'void' Keyword.Type ' ' Text 'write' Name '(' Punctuation ' ' Text 'const' Keyword ' ' Text 'char' Keyword.Type ' ' Text '*' Operator 'data' Name ' ' Text ')' Punctuation '\n' Text '{' Punctuation '\n' Text '\t' Text 'cout' Name ' ' Text '<' Operator '<' Operator ' ' Text 'data' Name ';' Punctuation '\n' Text '}' Punctuation '\n' Text '\n' Text 'inline' Keyword.Reserved ' ' Text 'void' Keyword.Type ' ' Text 'write' Name '(' Punctuation ' ' Text 'char' Keyword.Type ' ' Text 'c' Name ' ' Text ')' Punctuation '\n' Text '{' Punctuation '\n' Text '\t' Text 'cout' Name ' ' Text '<' Operator '<' Operator ' ' Text 'c' Name ';' Punctuation '\n' Text '}' Punctuation '\n' Text '\n' Text 'inline' Keyword.Reserved ' ' Text 'void' Keyword.Type ' ' Text 'write' Name '(' Punctuation ' ' Text 'const' Keyword ' ' Text 'char' Keyword.Type ' ' Text '*' Operator 'data' Name ',' Punctuation ' ' Text 'int' Keyword.Type ' ' Text 'len' Name ' ' Text ')' Punctuation '\n' Text '{' Punctuation '\n' Text '\t' Text 'cout' Name '.' Punctuation 'write' Name '(' Punctuation ' ' Text 'data' Name ',' Punctuation ' ' Text 'len' Name ' ' Text ')' Punctuation ';' Punctuation '\n' Text '}' Punctuation '\n' Text '\n' Text '\n' Text '%%{' Punctuation '\n\t' Text.Whitespace 'machine' Keyword ' ' Text.Whitespace 'RagelScan' Name.Variable ';' Punctuation '\n\n\t' Text.Whitespace 'word' Name.Variable ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '[a-zA-Z_]' Literal.String '[a-zA-Z_0-9]' Literal.String '*' Operator ';' Punctuation '\n\t' Text.Whitespace 'integer' Name.Variable ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '[0-9]' Literal.String '+' Operator ';' Punctuation '\n\t' Text.Whitespace 'hex' Name.Variable ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace "'0x'" Literal.String.Single ' ' Text.Whitespace '[0-9a-fA-F]' Literal.String ' ' Text.Whitespace '[0-9a-fA-F]' Literal.String '*' Operator ';' Punctuation '\n\n\t' Text.Whitespace 'default' Name.Variable ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '^' Operator '0' Literal.Number.Integer ';' Punctuation '\n\t' Text.Whitespace 'EOF' Name.Variable ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ';' Punctuation '\n\n\t' Text.Whitespace '# Handles comments in outside code and inline blocks.' Comment '\n\t' Text.Whitespace 'c_comment' Name.Variable ' ' Text.Whitespace ':' Operator '=' Operator ' \n\t\t' Text.Whitespace '(' Operator ' ' Text.Whitespace 'default' Name.Variable '*' Operator ' ' Text.Whitespace ':>>' Operator ' ' Text.Whitespace "'*/'" Literal.String.Single ' ' Text.Whitespace ')' Operator '\n\t\t' Text.Whitespace '$' Operator '{' Punctuation ' ' Text 'escapeXML' Name '(' Punctuation ' ' Text 'fc' Name ' ' Text ')' Punctuation ';' Punctuation ' ' Text '}' Punctuation '\n\t\t' Text.Whitespace '@' Operator '{' Punctuation ' ' Text 'fret' Name ';' Punctuation ' ' Text '}' Punctuation ';' Punctuation '\n\n\t' Text.Whitespace 'action' Keyword ' ' Text.Whitespace 'emit' Name.Variable ' ' Text.Whitespace '{' Punctuation '\n\t\t' Text 'escapeXML' Name '(' Punctuation ' ' Text 'ts' Name ',' Punctuation ' ' Text 'te' Name '-' Operator 'ts' Name ' ' Text ')' Punctuation ';' Punctuation '\n' Text '\t' Text '}' Punctuation '\n\n\t' Text.Whitespace '#' Comment '\n\t' Text.Whitespace '# Inline action code' Comment '\n\t' Text.Whitespace '#' Comment '\n\n\t' Text.Whitespace 'ilscan' Name.Variable ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace '|' Operator '*' Operator '\n\n\t\t' Text.Whitespace '"\'"' Literal.String.Double ' ' Text.Whitespace '(' Operator ' ' Text.Whitespace "[^'\\\\]" Literal.String ' ' Text.Whitespace '|' Operator ' ' Text.Whitespace '/\\\\./' Literal.String.Regex ' ' Text.Whitespace ')' Operator '*' Operator ' ' Text.Whitespace '"\'"' Literal.String.Double ' ' Text.Whitespace '=' Operator '>' Operator ' ' Text.Whitespace 'emit' Name.Variable ';' Punctuation '\n\t\t' Text.Whitespace '\'"\'' Literal.String.Single ' ' Text.Whitespace '(' Operator ' ' Text.Whitespace '[^"\\\\]' Literal.String ' ' Text.Whitespace '|' Operator ' ' Text.Whitespace '/\\\\./' Literal.String.Regex ' ' Text.Whitespace ')' Operator '*' Operator ' ' Text.Whitespace '\'"\'' Literal.String.Single ' ' Text.Whitespace '=' Operator '>' Operator ' ' Text.Whitespace 'emit' Name.Variable ';' Punctuation '\n\t\t' Text.Whitespace "'/*'" Literal.String.Single ' ' Text.Whitespace '{' Punctuation '\n\t\t\t' Text 'write' Name '(' Punctuation ' ' Text '"' Literal.String '/*' Literal.String '"' Literal.String ' ' Text ')' Punctuation ';' Punctuation '\n' Text '\t\t\t' Text 'fcall' Name ' ' Text 'c_comment' Name ';' Punctuation '\n' Text '\t\t' Text '}' Punctuation ';' Punctuation '\n\t\t' Text.Whitespace "'//'" Literal.String.Single ' ' Text.Whitespace '[^\\n]' Literal.String '*' Operator ' ' Text.Whitespace "'\\n'" Literal.String.Single ' ' Text.Whitespace '=' Operator '>' Operator ' ' Text.Whitespace 'emit' Name.Variable ';' Punctuation '\n\n\t\t' Text.Whitespace "'{'" Literal.String.Single ' ' Text.Whitespace '{' Punctuation '\n\t\t\t' Text 'write' Name '(' Punctuation ' ' Text "'" Literal.String.Char '{' Literal.String.Char "'" Literal.String.Char ' ' Text ')' Punctuation ';' Punctuation '\n' Text '\t\t\t' Text 'inline_depth' Name ' ' Text '+' Operator '=' Operator ' ' Text '1' Literal.Number.Integer ';' Punctuation ' \n\t\t' Text '}' Punctuation ';' Punctuation '\n\n\t\t' Text.Whitespace "'}'" Literal.String.Single ' ' Text.Whitespace '{' Punctuation '\n\t\t\t' Text 'write' Name '(' Punctuation ' ' Text "'" Literal.String.Char '}' Literal.String.Char "'" Literal.String.Char ' ' Text ')' Punctuation ';' Punctuation '\n' Text '\t\t\t' Text '/* If dropping down to the last } then return \n\t\t\t * to ragel code. */' Comment.Multiline '\n' Text '\t\t\t' Text 'if' Keyword ' ' Text '(' Punctuation ' ' Text '-' Operator '-' Operator 'inline_depth' Name ' ' Text '=' Operator '=' Operator ' ' Text '0' Literal.Number.Integer ' ' Text ')' Punctuation ' ' Text '{' Punctuation '\n\t\t\t\t' Text 'write' Name '(' Punctuation ' ' Text '"' Literal.String '' Literal.String '\\n' Literal.String.Escape '"' Literal.String ' ' Text ')' Punctuation ';' Punctuation '\n' Text '\t\t\t\t' Text 'fgoto' Name ' ' Text 'rlscan' Name ';' Punctuation '\n' Text '\t\t\t' Text '}' Punctuation '\n\t\t' Text '}' Punctuation ';' Punctuation '\n\n\t\t' Text.Whitespace 'default' Name.Variable ' ' Text.Whitespace '=' Operator '>' Operator ' ' Text.Whitespace '{' Punctuation ' ' Text 'escapeXML' Name '(' Punctuation ' ' Text '*' Operator 'ts' Name ' ' Text ')' Punctuation ';' Punctuation ' ' Text '}' Punctuation ';' Punctuation '\n\t' Text.Whitespace '*' Operator '|' Operator ';' Punctuation '\n\n\t' Text.Whitespace '#' Comment '\n\t' Text.Whitespace '# Ragel Tokens' Comment '\n\t' Text.Whitespace '#' Comment '\n\n\t' Text.Whitespace 'rlscan' Name.Variable ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace '|' Operator '*' Operator '\n\t\t' Text.Whitespace "'}%%'" Literal.String.Single ' ' Text.Whitespace '{' Punctuation '\n\t\t\t' Text 'if' Keyword ' ' Text '(' Punctuation ' ' Text '!' Operator 'single_line' Name ' ' Text ')' Punctuation ' ' Text '{' Punctuation '\n\t\t\t\t' Text 'write' Name '(' Punctuation ' ' Text '"' Literal.String '' Literal.String '\\n' Literal.String.Escape '"' Literal.String ' ' Text ')' Punctuation ';' Punctuation '\n' Text '\t\t\t\t' Text 'fgoto' Name ' ' Text 'main' Name ';' Punctuation '\n' Text '\t\t\t' Text '}' Punctuation '\n\t\t' Text '}' Punctuation ';' Punctuation '\n\n\t\t' Text.Whitespace "'\\n'" Literal.String.Single ' ' Text.Whitespace '{' Punctuation '\n\t\t\t' Text 'if' Keyword ' ' Text '(' Punctuation ' ' Text 'single_line' Name ' ' Text ')' Punctuation ' ' Text '{' Punctuation '\n\t\t\t\t' Text 'write' Name '(' Punctuation ' ' Text '"' Literal.String '' Literal.String '\\n' Literal.String.Escape '"' Literal.String ' ' Text ')' Punctuation ';' Punctuation '\n' Text '\t\t\t\t' Text 'fgoto' Name ' ' Text 'main' Name ';' Punctuation '\n' Text '\t\t\t' Text '}' Punctuation '\n\t\t' Text '}' Punctuation ';' Punctuation '\n\n\t\t' Text.Whitespace '# Word' Comment '\n\t\t' Text.Whitespace 'word' Name.Variable ' ' Text.Whitespace '{' Punctuation '\n\t\t\t' Text 'write' Name '(' Punctuation ' ' Text '"' Literal.String '' Literal.String '"' Literal.String ' ' Text ')' Punctuation ';' Punctuation '\n' Text '\t\t\t' Text 'write' Name '(' Punctuation ' ' Text 'ts' Name ',' Punctuation ' ' Text 'te' Name '-' Operator 'ts' Name ' ' Text ')' Punctuation ';' Punctuation '\n' Text '\t\t\t' Text 'write' Name '(' Punctuation ' ' Text '"' Literal.String '' Literal.String '\\n' Literal.String.Escape '"' Literal.String ' ' Text ')' Punctuation ';' Punctuation '\n' Text '\t\t' Text '}' Punctuation ';' Punctuation '\n\n\t\t' Text.Whitespace '# Decimal integer.' Comment '\n\t\t' Text.Whitespace 'integer' Name.Variable ' ' Text.Whitespace '{' Punctuation '\n\t\t\t' Text 'write' Name '(' Punctuation ' ' Text '"' Literal.String '' Literal.String '"' Literal.String ' ' Text ')' Punctuation ';' Punctuation '\n' Text '\t\t\t' Text 'write' Name '(' Punctuation ' ' Text 'ts' Name ',' Punctuation ' ' Text 'te' Name '-' Operator 'ts' Name ' ' Text ')' Punctuation ';' Punctuation '\n' Text '\t\t\t' Text 'write' Name '(' Punctuation ' ' Text '"' Literal.String '' Literal.String '\\n' Literal.String.Escape '"' Literal.String ' ' Text ')' Punctuation ';' Punctuation '\n' Text '\t\t' Text '}' Punctuation ';' Punctuation '\n\n\t\t' Text.Whitespace '# Hexidecimal integer.' Comment '\n\t\t' Text.Whitespace 'hex' Name.Variable ' ' Text.Whitespace '{' Punctuation '\n\t\t\t' Text 'write' Name '(' Punctuation ' ' Text '"' Literal.String '' Literal.String '"' Literal.String ' ' Text ')' Punctuation ';' Punctuation '\n' Text '\t\t\t' Text 'write' Name '(' Punctuation ' ' Text 'ts' Name ',' Punctuation ' ' Text 'te' Name '-' Operator 'ts' Name ' ' Text ')' Punctuation ';' Punctuation '\n' Text '\t\t\t' Text 'write' Name '(' Punctuation ' ' Text '"' Literal.String '' Literal.String '\\n' Literal.String.Escape '"' Literal.String ' ' Text ')' Punctuation ';' Punctuation '\n' Text '\t\t' Text '}' Punctuation ';' Punctuation '\n\n\t\t' Text.Whitespace '# Consume comments.' Comment '\n\t\t' Text.Whitespace "'#'" Literal.String.Single ' ' Text.Whitespace '[^\\n]' Literal.String '*' Operator ' ' Text.Whitespace "'\\n'" Literal.String.Single ';' Punctuation '\n\n\t\t' Text.Whitespace '# Single literal string.' Comment '\n\t\t' Text.Whitespace '"\'"' Literal.String.Double ' ' Text.Whitespace '(' Operator ' ' Text.Whitespace "[^'\\\\]" Literal.String ' ' Text.Whitespace '|' Operator ' ' Text.Whitespace '/\\\\./' Literal.String.Regex ' ' Text.Whitespace ')' Operator '*' Operator ' ' Text.Whitespace '"\'"' Literal.String.Double ' ' Text.Whitespace '{' Punctuation '\n\t\t\t' Text 'write' Name '(' Punctuation ' ' Text '"' Literal.String '' Literal.String '"' Literal.String ' ' Text ')' Punctuation ';' Punctuation '\n' Text '\t\t\t' Text 'escapeXML' Name '(' Punctuation ' ' Text 'ts' Name ',' Punctuation ' ' Text 'te' Name '-' Operator 'ts' Name ' ' Text ')' Punctuation ';' Punctuation '\n' Text '\t\t\t' Text 'write' Name '(' Punctuation ' ' Text '"' Literal.String '' Literal.String '\\n' Literal.String.Escape '"' Literal.String ' ' Text ')' Punctuation ';' Punctuation '\n' Text '\t\t' Text '}' Punctuation ';' Punctuation '\n\n\t\t' Text.Whitespace '# Double literal string.' Comment '\n\t\t' Text.Whitespace '\'"\'' Literal.String.Single ' ' Text.Whitespace '(' Operator ' ' Text.Whitespace '[^"\\\\]' Literal.String ' ' Text.Whitespace '|' Operator ' ' Text.Whitespace '/\\\\./' Literal.String.Regex ' ' Text.Whitespace ')' Operator '*' Operator ' ' Text.Whitespace '\'"\'' Literal.String.Single ' ' Text.Whitespace '{' Punctuation '\n\t\t\t' Text 'write' Name '(' Punctuation ' ' Text '"' Literal.String '' Literal.String '"' Literal.String ' ' Text ')' Punctuation ';' Punctuation '\n' Text '\t\t\t' Text 'escapeXML' Name '(' Punctuation ' ' Text 'ts' Name ',' Punctuation ' ' Text 'te' Name '-' Operator 'ts' Name ' ' Text ')' Punctuation ';' Punctuation '\n' Text '\t\t\t' Text 'write' Name '(' Punctuation ' ' Text '"' Literal.String '' Literal.String '\\n' Literal.String.Escape '"' Literal.String ' ' Text ')' Punctuation ';' Punctuation '\n' Text '\t\t' Text '}' Punctuation ';' Punctuation '\n\n\t\t' Text.Whitespace '# Or literal.' Comment '\n\t\t' Text.Whitespace "'['" Literal.String.Single ' ' Text.Whitespace '(' Operator ' ' Text.Whitespace '[^\\]\\\\]' Literal.String ' ' Text.Whitespace '|' Operator ' ' Text.Whitespace '/\\\\./' Literal.String.Regex ' ' Text.Whitespace ')' Operator '*' Operator ' ' Text.Whitespace "']'" Literal.String.Single ' ' Text.Whitespace '{' Punctuation '\n\t\t\t' Text 'write' Name '(' Punctuation ' ' Text '"' Literal.String '' Literal.String '"' Literal.String ' ' Text ')' Punctuation ';' Punctuation '\n' Text '\t\t\t' Text 'escapeXML' Name '(' Punctuation ' ' Text 'ts' Name ',' Punctuation ' ' Text 'te' Name '-' Operator 'ts' Name ' ' Text ')' Punctuation ';' Punctuation '\n' Text '\t\t\t' Text 'write' Name '(' Punctuation ' ' Text '"' Literal.String '' Literal.String '\\n' Literal.String.Escape '"' Literal.String ' ' Text ')' Punctuation ';' Punctuation '\n' Text '\t\t' Text '}' Punctuation ';' Punctuation '\n\n\t\t' Text.Whitespace '# Regex Literal.' Comment '\n\t\t' Text.Whitespace "'/'" Literal.String.Single ' ' Text.Whitespace '(' Operator ' ' Text.Whitespace '[^/\\\\]' Literal.String ' ' Text.Whitespace '|' Operator ' ' Text.Whitespace '/\\\\./' Literal.String.Regex ' ' Text.Whitespace ')' Operator ' ' Text.Whitespace '*' Operator ' ' Text.Whitespace "'/'" Literal.String.Single ' ' Text.Whitespace '{' Punctuation '\n\t\t\t' Text 'write' Name '(' Punctuation ' ' Text '"' Literal.String '' Literal.String '"' Literal.String ' ' Text ')' Punctuation ';' Punctuation '\n' Text '\t\t\t' Text 'escapeXML' Name '(' Punctuation ' ' Text 'ts' Name ',' Punctuation ' ' Text 'te' Name '-' Operator 'ts' Name ' ' Text ')' Punctuation ';' Punctuation '\n' Text '\t\t\t' Text 'write' Name '(' Punctuation ' ' Text '"' Literal.String '' Literal.String '\\n' Literal.String.Escape '"' Literal.String ' ' Text ')' Punctuation ';' Punctuation '\n' Text '\t\t' Text '}' Punctuation ';' Punctuation '\n\n\t\t' Text.Whitespace '# Open an inline block' Comment '\n\t\t' Text.Whitespace "'{'" Literal.String.Single ' ' Text.Whitespace '{' Punctuation '\n\t\t\t' Text 'inline_depth' Name ' ' Text '=' Operator ' ' Text '1' Literal.Number.Integer ';' Punctuation '\n' Text '\t\t\t' Text 'write' Name '(' Punctuation ' ' Text '"' Literal.String '{' Literal.String '"' Literal.String ' ' Text ')' Punctuation ';' Punctuation '\n' Text '\t\t\t' Text 'fgoto' Name ' ' Text 'ilscan' Name ';' Punctuation '\n' Text '\t\t' Text '}' Punctuation ';' Punctuation '\n\n\t\t' Text.Whitespace 'punct' Keyword ' ' Text.Whitespace '{' Punctuation '\n\t\t\t' Text 'write' Name '(' Punctuation ' ' Text '"' Literal.String '' Literal.String '"' Literal.String ' ' Text ')' Punctuation ';' Punctuation '\n' Text '\t\t\t' Text 'escapeXML' Name '(' Punctuation ' ' Text 'fc' Name ' ' Text ')' Punctuation ';' Punctuation '\n' Text '\t\t\t' Text 'write' Name '(' Punctuation ' ' Text '"' Literal.String '' Literal.String '\\n' Literal.String.Escape '"' Literal.String ' ' Text ')' Punctuation ';' Punctuation '\n' Text '\t\t' Text '}' Punctuation ';' Punctuation '\n\t\t\n\t\t' Text.Whitespace 'default' Name.Variable ';' Punctuation '\n\t' Text.Whitespace '*' Operator '|' Operator ';' Punctuation '\n\n\t' Text.Whitespace '#' Comment '\n\t' Text.Whitespace '# Outside code.' Comment '\n\t' Text.Whitespace '#' Comment '\n\n\t' Text.Whitespace 'main' Name.Variable ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace '|' Operator '*' Operator '\n\n\t\t' Text.Whitespace '"\'"' Literal.String.Double ' ' Text.Whitespace '(' Operator ' ' Text.Whitespace "[^'\\\\]" Literal.String ' ' Text.Whitespace '|' Operator ' ' Text.Whitespace '/\\\\./' Literal.String.Regex ' ' Text.Whitespace ')' Operator '*' Operator ' ' Text.Whitespace '"\'"' Literal.String.Double ' ' Text.Whitespace '=' Operator '>' Operator ' ' Text.Whitespace 'emit' Name.Variable ';' Punctuation '\n\t\t' Text.Whitespace '\'"\'' Literal.String.Single ' ' Text.Whitespace '(' Operator ' ' Text.Whitespace '[^"\\\\]' Literal.String ' ' Text.Whitespace '|' Operator ' ' Text.Whitespace '/\\\\./' Literal.String.Regex ' ' Text.Whitespace ')' Operator '*' Operator ' ' Text.Whitespace '\'"\'' Literal.String.Single ' ' Text.Whitespace '=' Operator '>' Operator ' ' Text.Whitespace 'emit' Name.Variable ';' Punctuation '\n\n\t\t' Text.Whitespace "'/*'" Literal.String.Single ' ' Text.Whitespace '{' Punctuation '\n\t\t\t' Text 'escapeXML' Name '(' Punctuation ' ' Text 'ts' Name ',' Punctuation ' ' Text 'te' Name '-' Operator 'ts' Name ' ' Text ')' Punctuation ';' Punctuation '\n' Text '\t\t\t' Text 'fcall' Name ' ' Text 'c_comment' Name ';' Punctuation '\n' Text '\t\t' Text '}' Punctuation ';' Punctuation '\n\n\t\t' Text.Whitespace "'//'" Literal.String.Single ' ' Text.Whitespace '[^\\n]' Literal.String '*' Operator ' ' Text.Whitespace "'\\n'" Literal.String.Single ' ' Text.Whitespace '=' Operator '>' Operator ' ' Text.Whitespace 'emit' Name.Variable ';' Punctuation '\n\n\t\t' Text.Whitespace "'%%{'" Literal.String.Single ' ' Text.Whitespace '{' Punctuation ' \n\t\t\t' Text 'write' Name '(' Punctuation ' ' Text '"' Literal.String '
' Literal.String '\\n' Literal.String.Escape '"' Literal.String ' ' Text ')' Punctuation ';' Punctuation '\n' Text '\t\t\t' Text 'single_line' Name ' ' Text '=' Operator ' ' Text 'false' Name.Builtin ';' Punctuation '\n' Text '\t\t\t' Text 'fgoto' Name ' ' Text 'rlscan' Name ';' Punctuation '\n' Text '\t\t' Text '}' Punctuation ';' Punctuation '\n\n\t\t' Text.Whitespace "'%%'" Literal.String.Single ' ' Text.Whitespace '{' Punctuation '\n\t\t\t' Text 'write' Name '(' Punctuation ' ' Text '"' Literal.String '
' Literal.String '\\n' Literal.String.Escape '"' Literal.String ' ' Text ')' Punctuation ';' Punctuation ' \n\t\t\t' Text 'single_line' Name ' ' Text '=' Operator ' ' Text 'true' Name.Builtin ';' Punctuation ' \n\t\t\t' Text 'fgoto' Name ' ' Text 'rlscan' Name ';' Punctuation '\n' Text '\t\t' Text '}' Punctuation ';' Punctuation '\n\n\t\t' Text.Whitespace 'default' Name.Variable ' ' Text.Whitespace '{' Punctuation ' \n\t\t\t' Text 'escapeXML' Name '(' Punctuation ' ' Text '*' Operator 'ts' Name ' ' Text ')' Punctuation ';' Punctuation '\n' Text '\t\t' Text '}' Punctuation ';' Punctuation '\n\n\t\t' Text.Whitespace '# EOF.' Comment '\n\t\t' Text.Whitespace 'EOF' Name.Variable ';' Punctuation '\n\t' Text.Whitespace '*' Operator '|' Operator ';' Punctuation '\n' Text.Whitespace '}%%' Punctuation '\n\n' Text '%%' Punctuation ' ' Text.Whitespace 'write' Keyword ' ' Text.Whitespace 'data' Name.Variable ' ' Text.Whitespace 'nofinal' Name.Variable ';' Punctuation '\n' Text '\n' Text 'void' Keyword.Type ' ' Text 'test' Name.Function '(' Punctuation ' ' Text 'const' Keyword ' ' Text 'char' Keyword.Type ' ' Text '*' Operator 'data' Name ' ' Text ')' Punctuation '\n' Text '{' Punctuation '\n' Text '\t' Text 'std' Name ':' Operator ':' Operator 'ios' Name ':' Operator ':' Operator 'sync_with_stdio' Name '(' Punctuation 'false' Name.Builtin ')' Punctuation ';' Punctuation '\n' Text '\n' Text '\t' Text 'int' Keyword.Type ' ' Text 'cs' Name ',' Punctuation ' ' Text 'act' Name ';' Punctuation '\n' Text '\t' Text 'const' Keyword ' ' Text 'char' Keyword.Type ' ' Text '*' Operator 'ts' Name ',' Punctuation ' ' Text '*' Operator 'te' Name ';' Punctuation '\n' Text '\t' Text 'int' Keyword.Type ' ' Text 'stack' Name '[' Punctuation '1' Literal.Number.Integer ']' Punctuation ',' Punctuation ' ' Text 'top' Name ';' Punctuation '\n' Text '\n' Text '\t' Text 'bool' Keyword.Type ' ' Text 'single_line' Name ' ' Text '=' Operator ' ' Text 'false' Name.Builtin ';' Punctuation '\n' Text '\t' Text 'int' Keyword.Type ' ' Text 'inline_depth' Name ' ' Text '=' Operator ' ' Text '0' Literal.Number.Integer ';' Punctuation '\n' Text '\n' Text '\t' Text '%%' Punctuation ' ' Text.Whitespace 'write' Keyword ' ' Text.Whitespace 'init' Name.Variable ';' Punctuation '\n' Text '\n\t' Text '/* Read in a block. */' Comment.Multiline '\n' Text '\t' Text 'const' Keyword ' ' Text 'char' Keyword.Type ' ' Text '*' Operator 'p' Name ' ' Text '=' Operator ' ' Text 'data' Name ';' Punctuation '\n' Text '\t' Text 'const' Keyword ' ' Text 'char' Keyword.Type ' ' Text '*' Operator 'pe' Name ' ' Text '=' Operator ' ' Text 'data' Name ' ' Text '+' Operator ' ' Text 'strlen' Name '(' Punctuation ' ' Text 'data' Name ' ' Text ')' Punctuation ';' Punctuation '\n' Text '\t' Text 'const' Keyword ' ' Text 'char' Keyword.Type ' ' Text '*' Operator 'eof' Name ' ' Text '=' Operator ' ' Text 'pe' Name ';' Punctuation '\n' Text '\t' Text '%%' Punctuation ' ' Text.Whitespace 'write' Keyword ' ' Text.Whitespace 'exec' Name.Variable ';' Punctuation '\n' Text '\n\t' Text 'if' Keyword ' ' Text '(' Punctuation ' ' Text 'cs' Name ' ' Text '=' Operator '=' Operator ' ' Text 'RagelScan_error' Name ' ' Text ')' Punctuation ' ' Text '{' Punctuation '\n' Text '\t\t' Text '/* Machine failed before finding a token. */' Comment.Multiline '\n' Text '\t\t' Text 'cerr' Name ' ' Text '<' Operator '<' Operator ' ' Text '"' Literal.String 'PARSE ERROR' Literal.String '"' Literal.String ' ' Text '<' Operator '<' Operator ' ' Text 'endl' Name ';' Punctuation '\n' Text '\t\t' Text 'exit' Name '(' Punctuation '1' Literal.Number.Integer ')' Punctuation ';' Punctuation '\n' Text '\t' Text '}' Punctuation '\n' Text '}' Punctuation '\n' Text '\n' Text '#' Comment.Preproc 'define BUFSIZE 2048' Comment.Preproc '\n' Comment.Preproc '\n' Text 'int' Keyword.Type ' ' Text 'main' Name.Function '(' Punctuation ')' Punctuation '\n' Text '{' Punctuation '\n' Text '\t' Text 'std' Name ':' Operator ':' Operator 'ios' Name ':' Operator ':' Operator 'sync_with_stdio' Name '(' Punctuation 'false' Name.Builtin ')' Punctuation ';' Punctuation '\n' Text '\n' Text '\t' Text 'test' Name '(' Punctuation '"' Literal.String "hi %%{ /'}%%'/ { /*{*/ {} } + '" Literal.String '\\\\' Literal.String.Escape "'' }%%there" Literal.String '\\n' Literal.String.Escape '"' Literal.String ')' Punctuation ';' Punctuation '\n' Text '\n' Text '\t' Text 'return' Keyword ' ' Text '0' Literal.Number.Integer ';' Punctuation '\n' Text '}' Punctuation '\n' Text