Warning, /frameworks/syntax-highlighting/autotests/reference/highlight.g4.ref is written in an unsupported language. File is not indexed.
0001 <Comment>/* This test file tests Kate's ANTLR highlighting </Comment><br/> 0002 <Comment> compilable bt ANTLR although not directly:</Comment><br/> 0003 <Comment> grammar can be alone file for both parser and lexer</Comment><br/> 0004 <Comment> or two files</Comment><br/> 0005 <Comment> This file is merged TestParser.g4 and TestLexer.g4</Comment><br/> 0006 <Comment> this lines also tests regions of multiline comment</Comment><br/> 0007 <Comment>*/</Comment><br/> 0008 <Comment>//file TestParser.g4</Comment><br/> 0009 <Keyword>parser</Keyword><Normal Text> </Normal Text><Keyword>grammar</Keyword><Normal Text> TestParser</Normal Text><Symbol>;</Symbol><br/> 0010 <Normal Text></Normal Text><br/> 0011 <Attribute>options</Attribute><Normal Text> </Normal Text><Symbol>{</Symbol><Normal Text> tokenVocab </Normal Text><Symbol>=</Symbol><Normal Text> TestLexer</Normal Text><Symbol>;</Symbol><Normal Text> </Normal Text><Symbol>}</Symbol><br/> 0012 <Normal Text></Normal Text><br/> 0013 <Comment>// The main entry point for parsing a grammar.</Comment><br/> 0014 <Normal Text></Normal Text><br/> 0015 <Normal Text>startRule</Normal Text><br/> 0016 <Normal Text> </Normal Text><Symbol>:</Symbol><Normal Text> </Normal Text><Symbol>(</Symbol><Normal Text>expression </Normal Text><Symbol>|</Symbol><Normal Text> STRING</Normal Text><Symbol>)+</Symbol><Normal Text> EOF</Normal Text><br/> 0017 <Normal Text> </Normal Text><Symbol>;</Symbol><br/> 0018 <Normal Text></Normal Text><br/> 0019 <Normal Text>expression</Normal Text><br/> 0020 <Normal Text> </Normal Text><Symbol>:</Symbol><Normal Text> expression PLUS mulExpr</Normal Text><br/> 0021 <Normal Text> </Normal Text><Symbol>|</Symbol><Normal Text> expression MINUS mulExpr</Normal Text><br/> 0022 <Normal Text> </Normal Text><Symbol>|</Symbol><Normal Text> mulExpr</Normal Text><br/> 0023 <Normal Text> </Normal Text><Symbol>;</Symbol><br/> 0024 <Normal Text></Normal Text><br/> 0025 <Normal Text>mulExpr</Normal Text><br/> 0026 <Normal Text> </Normal Text><Symbol>:</Symbol><Normal Text> mulExpr MUL unaryExpr</Normal Text><br/> 0027 <Normal Text> </Normal Text><Symbol>|</Symbol><Normal Text> mulExpr DIV unaryExpr</Normal Text><br/> 0028 <Normal Text> </Normal Text><Symbol>|</Symbol><Normal Text> unaryExpr</Normal Text><br/> 0029 <Normal Text> </Normal Text><Symbol>;</Symbol><br/> 0030 <Normal Text></Normal Text><br/> 0031 <Normal Text>unaryExpr</Normal Text><br/> 0032 <Normal Text> </Normal Text><Symbol>:</Symbol><Normal Text> atom</Normal Text><br/> 0033 <Normal Text> </Normal Text><Symbol>|</Symbol><Normal Text> LPAR expression RPAR</Normal Text><br/> 0034 <Normal Text> </Normal Text><Symbol>;</Symbol><br/> 0035 <Normal Text></Normal Text><br/> 0036 <Normal Text>atom</Normal Text><br/> 0037 <Normal Text> </Normal Text><Symbol>:</Symbol><Normal Text> IDENT</Normal Text><br/> 0038 <Normal Text> </Normal Text><Symbol>|</Symbol><Normal Text> number</Normal Text><br/> 0039 <Normal Text> </Normal Text><Symbol>;</Symbol><br/> 0040 <Normal Text></Normal Text><br/> 0041 <Normal Text>number</Normal Text><br/> 0042 <Normal Text> </Normal Text><Symbol>:</Symbol><Normal Text> INT</Normal Text><br/> 0043 <Normal Text> </Normal Text><Symbol>|</Symbol><Normal Text> FLOAT</Normal Text><br/> 0044 <Normal Text> </Normal Text><Symbol>;</Symbol><br/> 0045 <Normal Text></Normal Text><br/> 0046 <Comment>//================================</Comment><br/> 0047 <Comment>//file TestLexer.g4</Comment><br/> 0048 <Normal Text></Normal Text><br/> 0049 <Keyword>lexer</Keyword><Normal Text> </Normal Text><Keyword>grammar</Keyword><Normal Text> TestLexer</Normal Text><Symbol>;</Symbol><br/> 0050 <Normal Text></Normal Text><br/> 0051 <Comment>/*'channels' and '{' must be in one line</Comment><br/> 0052 <Comment> to correct highlighting, highlighter can't</Comment><br/> 0053 <Comment> recognize regular expression "(options|tokens|channels)(?=([\s]*{))"</Comment><br/> 0054 <Comment> where apart from \s whitrspaces are end of lines</Comment><br/> 0055 <Comment> */</Comment><br/> 0056 <Attribute>channels</Attribute><Normal Text> </Normal Text><Symbol>{</Symbol><Normal Text> OFF_CHANNEL </Normal Text><Symbol>,</Symbol><Normal Text> COMMENT </Normal Text><Symbol>}</Symbol><br/> 0057 <Normal Text></Normal Text><br/> 0058 <Normal Text></Normal Text><br/> 0059 <Normal Text>PLUS</Normal Text><br/> 0060 <Normal Text> </Normal Text><Symbol>:</Symbol><Normal Text> </Normal Text><String>'+'</String><br/> 0061 <Normal Text> </Normal Text><Symbol>;</Symbol><br/> 0062 <Normal Text></Normal Text><br/> 0063 <Normal Text>MINUS</Normal Text><br/> 0064 <Normal Text> </Normal Text><Symbol>:</Symbol><Normal Text> </Normal Text><String>'-'</String><br/> 0065 <Normal Text> </Normal Text><Symbol>;</Symbol><br/> 0066 <Normal Text></Normal Text><br/> 0067 <Normal Text>MUL</Normal Text><br/> 0068 <Normal Text> </Normal Text><Symbol>:</Symbol><Normal Text> </Normal Text><String>'*'</String><br/> 0069 <Normal Text> </Normal Text><Symbol>;</Symbol><br/> 0070 <Normal Text></Normal Text><br/> 0071 <Normal Text>DIV</Normal Text><br/> 0072 <Normal Text> </Normal Text><Symbol>:</Symbol><Normal Text> </Normal Text><String>'/'</String><br/> 0073 <Normal Text> </Normal Text><Symbol>;</Symbol><br/> 0074 <Normal Text></Normal Text><br/> 0075 <Normal Text>LPAR</Normal Text><br/> 0076 <Normal Text> </Normal Text><Symbol>:</Symbol><Normal Text> </Normal Text><String>'('</String><br/> 0077 <Normal Text> </Normal Text><Symbol>;</Symbol><br/> 0078 <Normal Text></Normal Text><br/> 0079 <Normal Text>RPAR</Normal Text><br/> 0080 <Normal Text> </Normal Text><Symbol>:</Symbol><Normal Text> </Normal Text><String>')'</String><br/> 0081 <Normal Text> </Normal Text><Symbol>;</Symbol><br/> 0082 <Normal Text></Normal Text><br/> 0083 <Normal Text>IDENT</Normal Text><br/> 0084 <Normal Text> </Normal Text><Symbol>:</Symbol><Normal Text> Nondigit</Normal Text><br/> 0085 <Normal Text> </Normal Text><Symbol>(</Symbol><Normal Text> Nondigit</Normal Text><br/> 0086 <Normal Text> </Normal Text><Symbol>|</Symbol><Normal Text> Digit</Normal Text><br/> 0087 <Normal Text> </Normal Text><Symbol>)*</Symbol><br/> 0088 <Normal Text> </Normal Text><Symbol>;</Symbol><br/> 0089 <Normal Text></Normal Text><br/> 0090 <Keyword>fragment</Keyword><br/> 0091 <Normal Text>Digit</Normal Text><br/> 0092 <Normal Text> </Normal Text><Symbol>:</Symbol><Normal Text> </Normal Text><Charset>[0-9]</Charset><br/> 0093 <Normal Text> </Normal Text><Symbol>;</Symbol><br/> 0094 <Normal Text></Normal Text><br/> 0095 <Keyword>fragment</Keyword><br/> 0096 <Normal Text>NonzeroDigit</Normal Text><br/> 0097 <Normal Text> </Normal Text><Symbol>:</Symbol><Normal Text> </Normal Text><Charset>[1-9]</Charset><br/> 0098 <Normal Text> </Normal Text><Symbol>;</Symbol><br/> 0099 <Normal Text></Normal Text><br/> 0100 <Keyword>fragment</Keyword><br/> 0101 <Normal Text>Nondigit</Normal Text><br/> 0102 <Normal Text> </Normal Text><Symbol>:</Symbol><Normal Text> </Normal Text><Charset>[a-zA-Z_]</Charset><br/> 0103 <Normal Text> </Normal Text><Symbol>;</Symbol><br/> 0104 <Normal Text></Normal Text><br/> 0105 <Normal Text>Sign</Normal Text><br/> 0106 <Normal Text> </Normal Text><Symbol>:</Symbol><Normal Text> </Normal Text><String>'+'</String><Normal Text> </Normal Text><Symbol>|</Symbol><Normal Text> </Normal Text><String>'-'</String><br/> 0107 <Normal Text> </Normal Text><Symbol>;</Symbol><br/> 0108 <Normal Text></Normal Text><br/> 0109 <Normal Text>INT</Normal Text><br/> 0110 <Normal Text> </Normal Text><Symbol>:</Symbol><Normal Text> Sign</Normal Text><Symbol>?</Symbol><Normal Text> </Normal Text><Symbol>(</Symbol><Normal Text>NonzeroDigit Digit</Normal Text><Symbol>*</Symbol><Normal Text> </Normal Text><Symbol>|</Symbol><Normal Text> </Normal Text><String>'0'</String><Symbol>)</Symbol><br/> 0111 <Normal Text> </Normal Text><Symbol>;</Symbol><br/> 0112 <Normal Text></Normal Text><br/> 0113 <Keyword>fragment</Keyword><br/> 0114 <Normal Text>DigitSequence</Normal Text><br/> 0115 <Normal Text> </Normal Text><Symbol>:</Symbol><Normal Text> Digit</Normal Text><Symbol>+</Symbol><br/> 0116 <Normal Text> </Normal Text><Symbol>;</Symbol><br/> 0117 <Normal Text></Normal Text><br/> 0118 <Keyword>fragment</Keyword><br/> 0119 <Normal Text>ExponentPart</Normal Text><br/> 0120 <Normal Text> </Normal Text><Symbol>:</Symbol><Normal Text> </Normal Text><Charset>[eE]</Charset><Normal Text> Sign</Normal Text><Symbol>?</Symbol><Normal Text> DigitSequence</Normal Text><br/> 0121 <Normal Text> </Normal Text><Symbol>;</Symbol><br/> 0122 <Normal Text></Normal Text><br/> 0123 <Keyword>fragment</Keyword><br/> 0124 <Normal Text>FractionalConstant</Normal Text><br/> 0125 <Normal Text> </Normal Text><Symbol>:</Symbol><Normal Text> DigitSequence</Normal Text><Symbol>?</Symbol><Normal Text> </Normal Text><String>'.'</String><Normal Text> DigitSequence</Normal Text><br/> 0126 <Normal Text> </Normal Text><Symbol>|</Symbol><Normal Text> DigitSequence </Normal Text><String>'.'</String><br/> 0127 <Normal Text> </Normal Text><Symbol>;</Symbol><br/> 0128 <Normal Text></Normal Text><br/> 0129 <Normal Text>FLOAT</Normal Text><br/> 0130 <Normal Text> </Normal Text><Symbol>:</Symbol><Normal Text> </Normal Text><Symbol>(</Symbol><Normal Text>FractionalConstant ExponentPart</Normal Text><Symbol>?</Symbol><Normal Text> </Normal Text><Symbol>|</Symbol><Normal Text> DigitSequence ExponentPart</Normal Text><Symbol>)</Symbol><br/> 0131 <Normal Text> </Normal Text><Symbol>;</Symbol><br/> 0132 <Normal Text></Normal Text><br/> 0133 <Normal Text></Normal Text><br/> 0134 <Keyword>fragment</Keyword><br/> 0135 <Normal Text>EscapeSequence</Normal Text><br/> 0136 <Normal Text> </Normal Text><Symbol>:</Symbol><Normal Text> </Normal Text><String>'\\'</String><Normal Text> </Normal Text><Charset>['"?abfnrtvhe\\]</Charset><br/> 0137 <Normal Text> </Normal Text><Symbol>;</Symbol><br/> 0138 <Normal Text></Normal Text><br/> 0139 <Comment>//between [] is charset , test escape \</Comment><br/> 0140 <Comment>fragment</Comment><br/> 0141 <Normal Text>SChar</Normal Text><br/> 0142 <Normal Text> </Normal Text><Symbol>:</Symbol><Normal Text> </Normal Text><Symbol>~</Symbol><Charset>["\\\r\n]</Charset><br/> 0143 <Normal Text> </Normal Text><Symbol>|</Symbol><Normal Text> EscapeSequence</Normal Text><br/> 0144 <Normal Text> </Normal Text><Symbol>;</Symbol><br/> 0145 <Normal Text></Normal Text><br/> 0146 <Normal Text>STRING</Normal Text><br/> 0147 <Normal Text> </Normal Text><Symbol>:</Symbol><Normal Text> </Normal Text><String>'"'</String><Normal Text> SChar</Normal Text><Symbol>*</Symbol><Normal Text> </Normal Text><String>'"'</String><br/> 0148 <Normal Text> </Normal Text><Symbol>;</Symbol><br/>