1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/o.n.antlr.editor/build.xml Fri Jan 11 15:06:14 2013 +0100
1.3 @@ -0,0 +1,23 @@
1.4 +<?xml version="1.0" encoding="UTF-8"?>
1.5 +<project basedir="." default="netbeans" name="contrib/o.n.antlr.editor">
1.6 + <description>Builds, tests, and runs the project org.netbeans.antlr.editor</description>
1.7 + <import file="../../nbbuild/templates/projectized.xml"/>
1.8 +
1.9 + <target name="generate-antlr-parser">
1.10 + <fail unless="antlr.jar">You must set antlr.jar property pointing to the antlr-x.x-complete.jar</fail>
1.11 +
1.12 + <java classname="org.antlr.Tool" fork="true" failonerror="true">
1.13 + <!-- use -debug option so the generated parser allows to register an DebugEventListener and hence allow to build a parse tree -->
1.14 + <arg value="-debug"/>
1.15 + <arg value="-verbose"/>
1.16 + <arg value="-o"/>
1.17 + <arg path="src/org/netbeans/modules/antlr/editor/gen"/>
1.18 + <arg path="src/org/netbeans/modules/antlr/editor/ANTLRv3.g"/>
1.19 + <classpath>
1.20 + <pathelement path="${classpath}"/>
1.21 + <pathelement location="${antlr.jar}"/>
1.22 + </classpath>
1.23 + </java>
1.24 + </target>
1.25 +
1.26 +</project>
2.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
2.2 +++ b/o.n.antlr.editor/manifest.mf Fri Jan 11 15:06:14 2013 +0100
2.3 @@ -0,0 +1,6 @@
2.4 +Manifest-Version: 1.0
2.5 +OpenIDE-Module: org.netbeans.antlr.editor
2.6 +OpenIDE-Module-Layer: org/netbeans/antlr/editor/layer.xml
2.7 +OpenIDE-Module-Localizing-Bundle: org/netbeans/antlr/editor/Bundle.properties
2.8 +OpenIDE-Module-Specification-Version: 0.1
2.9 +
3.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
3.2 +++ b/o.n.antlr.editor/nbproject/project.properties Fri Jan 11 15:06:14 2013 +0100
3.3 @@ -0,0 +1,2 @@
3.4 +javac.source=1.6
3.5 +javac.compilerargs=-Xlint -Xlint:-serial
4.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
4.2 +++ b/o.n.antlr.editor/nbproject/project.xml Fri Jan 11 15:06:14 2013 +0100
4.3 @@ -0,0 +1,128 @@
4.4 +<?xml version="1.0" encoding="UTF-8"?>
4.5 +<project xmlns="http://www.netbeans.org/ns/project/1">
4.6 + <type>org.netbeans.modules.apisupport.project</type>
4.7 + <configuration>
4.8 + <data xmlns="http://www.netbeans.org/ns/nb-module-project/3">
4.9 + <code-name-base>org.netbeans.antlr.editor</code-name-base>
4.10 + <module-dependencies>
4.11 + <dependency>
4.12 + <code-name-base>org.netbeans.core.multiview</code-name-base>
4.13 + <build-prerequisite/>
4.14 + <compile-dependency/>
4.15 + <run-dependency>
4.16 + <release-version>1</release-version>
4.17 + <specification-version>1.32</specification-version>
4.18 + </run-dependency>
4.19 + </dependency>
4.20 + <dependency>
4.21 + <code-name-base>org.netbeans.libs.antlr3.runtime</code-name-base>
4.22 + <build-prerequisite/>
4.23 + <compile-dependency/>
4.24 + <run-dependency>
4.25 + <specification-version>1.12</specification-version>
4.26 + </run-dependency>
4.27 + </dependency>
4.28 + <dependency>
4.29 + <code-name-base>org.netbeans.modules.csl.api</code-name-base>
4.30 + <build-prerequisite/>
4.31 + <compile-dependency/>
4.32 + <run-dependency>
4.33 + <release-version>2</release-version>
4.34 + <specification-version>2.33</specification-version>
4.35 + </run-dependency>
4.36 + </dependency>
4.37 + <dependency>
4.38 + <code-name-base>org.netbeans.modules.lexer</code-name-base>
4.39 + <build-prerequisite/>
4.40 + <compile-dependency/>
4.41 + <run-dependency>
4.42 + <release-version>2</release-version>
4.43 + <specification-version>1.49</specification-version>
4.44 + </run-dependency>
4.45 + </dependency>
4.46 + <dependency>
4.47 + <code-name-base>org.netbeans.modules.parsing.api</code-name-base>
4.48 + <build-prerequisite/>
4.49 + <compile-dependency/>
4.50 + <run-dependency>
4.51 + <release-version>1</release-version>
4.52 + <specification-version>1.62</specification-version>
4.53 + </run-dependency>
4.54 + </dependency>
4.55 + <dependency>
4.56 + <code-name-base>org.openide.awt</code-name-base>
4.57 + <build-prerequisite/>
4.58 + <compile-dependency/>
4.59 + <run-dependency>
4.60 + <specification-version>7.55</specification-version>
4.61 + </run-dependency>
4.62 + </dependency>
4.63 + <dependency>
4.64 + <code-name-base>org.openide.dialogs</code-name-base>
4.65 + <build-prerequisite/>
4.66 + <compile-dependency/>
4.67 + <run-dependency>
4.68 + <specification-version>7.28</specification-version>
4.69 + </run-dependency>
4.70 + </dependency>
4.71 + <dependency>
4.72 + <code-name-base>org.openide.filesystems</code-name-base>
4.73 + <build-prerequisite/>
4.74 + <compile-dependency/>
4.75 + <run-dependency>
4.76 + <specification-version>8.5</specification-version>
4.77 + </run-dependency>
4.78 + </dependency>
4.79 + <dependency>
4.80 + <code-name-base>org.openide.loaders</code-name-base>
4.81 + <build-prerequisite/>
4.82 + <compile-dependency/>
4.83 + <run-dependency>
4.84 + <specification-version>7.44</specification-version>
4.85 + </run-dependency>
4.86 + </dependency>
4.87 + <dependency>
4.88 + <code-name-base>org.openide.nodes</code-name-base>
4.89 + <build-prerequisite/>
4.90 + <compile-dependency/>
4.91 + <run-dependency>
4.92 + <specification-version>7.33</specification-version>
4.93 + </run-dependency>
4.94 + </dependency>
4.95 + <dependency>
4.96 + <code-name-base>org.openide.text</code-name-base>
4.97 + <build-prerequisite/>
4.98 + <compile-dependency/>
4.99 + <run-dependency>
4.100 + <specification-version>6.54</specification-version>
4.101 + </run-dependency>
4.102 + </dependency>
4.103 + <dependency>
4.104 + <code-name-base>org.openide.util</code-name-base>
4.105 + <build-prerequisite/>
4.106 + <compile-dependency/>
4.107 + <run-dependency>
4.108 + <specification-version>8.29</specification-version>
4.109 + </run-dependency>
4.110 + </dependency>
4.111 + <dependency>
4.112 + <code-name-base>org.openide.util.lookup</code-name-base>
4.113 + <build-prerequisite/>
4.114 + <compile-dependency/>
4.115 + <run-dependency>
4.116 + <specification-version>8.19</specification-version>
4.117 + </run-dependency>
4.118 + </dependency>
4.119 + <dependency>
4.120 + <code-name-base>org.openide.windows</code-name-base>
4.121 + <build-prerequisite/>
4.122 + <compile-dependency/>
4.123 + <run-dependency>
4.124 + <specification-version>6.60</specification-version>
4.125 + </run-dependency>
4.126 + </dependency>
4.127 + </module-dependencies>
4.128 + <public-packages/>
4.129 + </data>
4.130 + </configuration>
4.131 +</project>
5.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
5.2 +++ b/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g Fri Jan 11 15:06:14 2013 +0100
5.3 @@ -0,0 +1,610 @@
5.4 +/*
5.5 + [The "BSD licence"]
5.6 + Copyright (c) 2005-2007 Terence Parr
5.7 + All rights reserved.
5.8 +
5.9 + Redistribution and use in source and binary forms, with or without
5.10 + modification, are permitted provided that the following conditions
5.11 + are met:
5.12 + 1. Redistributions of source code must retain the above copyright
5.13 + notice, this list of conditions and the following disclaimer.
5.14 + 2. Redistributions in binary form must reproduce the above copyright
5.15 + notice, this list of conditions and the following disclaimer in the
5.16 + documentation and/or other materials provided with the distribution.
5.17 + 3. The name of the author may not be used to endorse or promote products
5.18 + derived from this software without specific prior written permission.
5.19 +
5.20 + THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
5.21 + IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
5.22 + OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
5.23 + IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
5.24 + INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
5.25 + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
5.26 + DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
5.27 + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
5.28 + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
5.29 + THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
5.30 +*/
5.31 +
5.32 +/** ANTLR v3 grammar written in ANTLR v3 with AST construction */
5.33 +grammar ANTLRv3;
5.34 +
5.35 +
5.36 +options {
5.37 + output=AST;
5.38 + ASTLabelType=CommonTree;
5.39 +}
5.40 +
5.41 +tokens {
5.42 + DOC_COMMENT;
5.43 + PARSER;
5.44 + LEXER;
5.45 + RULE;
5.46 + BLOCK;
5.47 + OPTIONAL;
5.48 + CLOSURE;
5.49 + POSITIVE_CLOSURE;
5.50 + SYNPRED;
5.51 + RANGE;
5.52 + CHAR_RANGE;
5.53 + EPSILON;
5.54 + ALT;
5.55 + EOR;
5.56 + EOB;
5.57 + EOA; // end of alt
5.58 + ID;
5.59 + ARG;
5.60 + ARGLIST;
5.61 + RET;
5.62 + LEXER_GRAMMAR;
5.63 + PARSER_GRAMMAR;
5.64 + TREE_GRAMMAR;
5.65 + COMBINED_GRAMMAR;
5.66 + INITACTION;
5.67 + LABEL; // $x used in rewrite rules
5.68 + TEMPLATE;
5.69 + SCOPE='scope';
5.70 + SEMPRED;
5.71 + GATED_SEMPRED; // {p}? =>
5.72 + SYN_SEMPRED; // (...) => it's a manually-specified synpred converted to sempred
5.73 + BACKTRACK_SEMPRED; // auto backtracking mode syn pred converted to sempred
5.74 + FRAGMENT='fragment';
5.75 + TREE_BEGIN='^(';
5.76 + ROOT='^';
5.77 + BANG='!';
5.78 + RANGE='..';
5.79 + REWRITE='->';
5.80 +}
5.81 +
5.82 +@lexer::header {
5.83 +package org.netbeans.antlr.editor.gen;
5.84 +}
5.85 +@header {
5.86 +package org.netbeans.antlr.editor.gen;
5.87 +}
5.88 +@members {
5.89 + int gtype;
5.90 +}
5.91 +
5.92 +grammarDef
5.93 + : DOC_COMMENT?
5.94 + ( 'lexer' {gtype=LEXER_GRAMMAR;} // pure lexer
5.95 + | 'parser' {gtype=PARSER_GRAMMAR;} // pure parser
5.96 + | 'tree' {gtype=TREE_GRAMMAR;} // a tree parser
5.97 + | {gtype=COMBINED_GRAMMAR;} // merged parser/lexer
5.98 + )
5.99 + g='grammar' id ';' optionsSpec? tokensSpec? attrScope* action*
5.100 + rule+
5.101 + EOF
5.102 + -> ^( {adaptor.create(gtype,$g)}
5.103 + id DOC_COMMENT? optionsSpec? tokensSpec? attrScope* action* rule+
5.104 + )
5.105 + ;
5.106 +
5.107 +tokensSpec
5.108 + : TOKENS tokenSpec+ '}' -> ^(TOKENS tokenSpec+)
5.109 + ;
5.110 +
5.111 +tokenSpec
5.112 + : TOKEN_REF
5.113 + ( '=' (lit=STRING_LITERAL|lit=CHAR_LITERAL) -> ^('=' TOKEN_REF $lit)
5.114 + | -> TOKEN_REF
5.115 + )
5.116 + ';'
5.117 + ;
5.118 +
5.119 +attrScope
5.120 + : 'scope' id ACTION -> ^('scope' id ACTION)
5.121 + ;
5.122 +
5.123 +/** Match stuff like @parser::members {int i;} */
5.124 +action
5.125 + : '@' (actionScopeName '::')? id ACTION -> ^('@' actionScopeName? id ACTION)
5.126 + ;
5.127 +
5.128 +/** Sometimes the scope names will collide with keywords; allow them as
5.129 + * ids for action scopes.
5.130 + */
5.131 +actionScopeName
5.132 + : id
5.133 + | l='lexer' -> ID[$l]
5.134 + | p='parser' -> ID[$p]
5.135 + ;
5.136 +
5.137 +optionsSpec
5.138 + : OPTIONS (option ';')+ '}' -> ^(OPTIONS option+)
5.139 + ;
5.140 +
5.141 +option
5.142 + : id '=' optionValue -> ^('=' id optionValue)
5.143 + ;
5.144 +
5.145 +optionValue
5.146 + : id
5.147 + | STRING_LITERAL
5.148 + | CHAR_LITERAL
5.149 + | INT
5.150 + | s='*' -> STRING_LITERAL[$s] // used for k=*
5.151 + ;
5.152 +
5.153 +rule
5.154 +scope {
5.155 + String name;
5.156 +}
5.157 + : DOC_COMMENT?
5.158 + ( modifier=('protected'|'public'|'private'|'fragment') )?
5.159 + id {$rule::name = $id.text;}
5.160 + '!'?
5.161 + ( arg=ARG_ACTION )?
5.162 + ( 'returns' rt=ARG_ACTION )?
5.163 + throwsSpec? optionsSpec? ruleScopeSpec? ruleAction*
5.164 + ':' altList ';'
5.165 + exceptionGroup?
5.166 + -> ^( RULE id {modifier!=null?adaptor.create(modifier):null} ^(ARG $arg)? ^(RET $rt)?
5.167 + optionsSpec? ruleScopeSpec? ruleAction*
5.168 + altList
5.169 + exceptionGroup?
5.170 + EOR["EOR"]
5.171 + )
5.172 + ;
5.173 +
5.174 +/** Match stuff like @init {int i;} */
5.175 +ruleAction
5.176 + : '@' id ACTION -> ^('@' id ACTION)
5.177 + ;
5.178 +
5.179 +throwsSpec
5.180 + : 'throws' id ( ',' id )* -> ^('throws' id+)
5.181 + ;
5.182 +
5.183 +ruleScopeSpec
5.184 + : 'scope' ACTION -> ^('scope' ACTION)
5.185 + | 'scope' id (',' id)* ';' -> ^('scope' id+)
5.186 + | 'scope' ACTION
5.187 + 'scope' id (',' id)* ';'
5.188 + -> ^('scope' ACTION id+ )
5.189 + ;
5.190 +
5.191 +block
5.192 + : lp='('
5.193 + ( (opts=optionsSpec)? ':' )?
5.194 + a1=alternative rewrite ( '|' a2=alternative rewrite )*
5.195 + rp=')'
5.196 + -> ^( BLOCK[$lp,"BLOCK"] optionsSpec? (alternative rewrite?)+ EOB[$rp,"EOB"] )
5.197 + ;
5.198 +
5.199 +altList
5.200 +@init {
5.201 + // must create root manually as it's used by invoked rules in real antlr tool.
5.202 + // leave here to demonstrate use of {...} in rewrite rule
5.203 + // it's really BLOCK[firstToken,"BLOCK"]; set line/col to previous ( or : token.
5.204 + CommonTree blkRoot = (CommonTree)adaptor.create(BLOCK,input.LT(-1),"BLOCK");
5.205 +}
5.206 + : a1=alternative rewrite ( '|' a2=alternative rewrite )*
5.207 + -> ^( {blkRoot} (alternative rewrite?)+ EOB["EOB"] )
5.208 + ;
5.209 +
5.210 +alternative
5.211 +@init {
5.212 + Token firstToken = input.LT(1);
5.213 + Token prevToken = input.LT(-1); // either : or | I think
5.214 +}
5.215 + : element+ -> ^(ALT[firstToken,"ALT"] element+ EOA["EOA"])
5.216 + | -> ^(ALT[prevToken,"ALT"] EPSILON[prevToken,"EPSILON"] EOA["EOA"])
5.217 + ;
5.218 +
5.219 +exceptionGroup
5.220 + : ( exceptionHandler )+ ( finallyClause )?
5.221 + | finallyClause
5.222 + ;
5.223 +
5.224 +exceptionHandler
5.225 + : 'catch' ARG_ACTION ACTION -> ^('catch' ARG_ACTION ACTION)
5.226 + ;
5.227 +
5.228 +finallyClause
5.229 + : 'finally' ACTION -> ^('finally' ACTION)
5.230 + ;
5.231 +
5.232 +element
5.233 + : elementNoOptionSpec
5.234 + ;
5.235 +
5.236 +elementNoOptionSpec
5.237 + : id (labelOp='='|labelOp='+=') atom
5.238 + ( ebnfSuffix -> ^( ebnfSuffix ^(BLOCK["BLOCK"] ^(ALT["ALT"] ^($labelOp id atom) EOA["EOA"]) EOB["EOB"]))
5.239 + | -> ^($labelOp id atom)
5.240 + )
5.241 + | id (labelOp='='|labelOp='+=') block
5.242 + ( ebnfSuffix -> ^( ebnfSuffix ^(BLOCK["BLOCK"] ^(ALT["ALT"] ^($labelOp id block) EOA["EOA"]) EOB["EOB"]))
5.243 + | -> ^($labelOp id block)
5.244 + )
5.245 + | atom
5.246 + ( ebnfSuffix -> ^( ebnfSuffix ^(BLOCK["BLOCK"] ^(ALT["ALT"] atom EOA["EOA"]) EOB["EOB"]) )
5.247 + | -> atom
5.248 + )
5.249 + | ebnf
5.250 + | ACTION
5.251 + | SEMPRED ( '=>' -> GATED_SEMPRED | -> SEMPRED )
5.252 + | treeSpec
5.253 + ( ebnfSuffix -> ^( ebnfSuffix ^(BLOCK["BLOCK"] ^(ALT["ALT"] treeSpec EOA["EOA"]) EOB["EOB"]) )
5.254 + | -> treeSpec
5.255 + )
5.256 + ;
5.257 +
5.258 +atom: range ( (op='^'|op='!') -> ^($op range) | -> range )
5.259 + | terminal
5.260 + | notSet ( (op='^'|op='!') -> ^($op notSet) | -> notSet )
5.261 + | RULE_REF ( arg=ARG_ACTION )? ( (op='^'|op='!') )?
5.262 + -> {$arg!=null&&op!=null}? ^($op RULE_REF $arg)
5.263 + -> {$arg!=null}? ^(RULE_REF $arg)
5.264 + -> {$op!=null}? ^($op RULE_REF)
5.265 + -> RULE_REF
5.266 + ;
5.267 +
5.268 +notSet
5.269 + : '~'
5.270 + ( notTerminal -> ^('~' notTerminal)
5.271 + | block -> ^('~' block)
5.272 + )
5.273 + ;
5.274 +
5.275 +treeSpec
5.276 + : '^(' element ( element )+ ')' -> ^(TREE_BEGIN element+)
5.277 + ;
5.278 +
5.279 +/** Matches ENBF blocks (and token sets via block rule) */
5.280 +ebnf
5.281 +@init {
5.282 + Token firstToken = input.LT(1);
5.283 +}
5.284 +@after {
5.285 + $ebnf.tree.getToken().setLine(firstToken.getLine());
5.286 + $ebnf.tree.getToken().setCharPositionInLine(firstToken.getCharPositionInLine());
5.287 +}
5.288 + : block
5.289 + ( op='?' -> ^(OPTIONAL[op] block)
5.290 + | op='*' -> ^(CLOSURE[op] block)
5.291 + | op='+' -> ^(POSITIVE_CLOSURE[op] block)
5.292 + | '=>' // syntactic predicate
5.293 + -> {gtype==COMBINED_GRAMMAR &&
5.294 + Character.isUpperCase($rule::name.charAt(0))}?
5.295 + // if lexer rule in combined, leave as pred for lexer
5.296 + ^(SYNPRED["=>"] block)
5.297 + // in real antlr tool, text for SYN_SEMPRED is predname
5.298 + -> SYN_SEMPRED
5.299 + | -> block
5.300 + )
5.301 + ;
5.302 +
5.303 +range!
5.304 + : c1=CHAR_LITERAL RANGE c2=CHAR_LITERAL -> ^(CHAR_RANGE[$c1,".."] $c1 $c2)
5.305 + ;
5.306 +
5.307 +terminal
5.308 + : ( CHAR_LITERAL -> CHAR_LITERAL
5.309 + // Args are only valid for lexer rules
5.310 + | TOKEN_REF
5.311 + ( ARG_ACTION -> ^(TOKEN_REF ARG_ACTION)
5.312 + | -> TOKEN_REF
5.313 + )
5.314 + | STRING_LITERAL -> STRING_LITERAL
5.315 + | '.' -> '.'
5.316 + )
5.317 + ( '^' -> ^('^' $terminal)
5.318 + | '!' -> ^('!' $terminal)
5.319 + )?
5.320 + ;
5.321 +
5.322 +notTerminal
5.323 + : CHAR_LITERAL
5.324 + | TOKEN_REF
5.325 + | STRING_LITERAL
5.326 + ;
5.327 +
5.328 +ebnfSuffix
5.329 +@init {
5.330 + Token op = input.LT(1);
5.331 +}
5.332 + : '?' -> OPTIONAL[op]
5.333 + | '*' -> CLOSURE[op]
5.334 + | '+' -> POSITIVE_CLOSURE[op]
5.335 + ;
5.336 +
5.337 +
5.338 +
5.339 +// R E W R I T E S Y N T A X
5.340 +
5.341 +rewrite
5.342 +@init {
5.343 + Token firstToken = input.LT(1);
5.344 +}
5.345 + : (rew+='->' preds+=SEMPRED predicated+=rewrite_alternative)*
5.346 + rew2='->' last=rewrite_alternative
5.347 + -> ^($rew $preds $predicated)* ^($rew2 $last)
5.348 + |
5.349 + ;
5.350 +
5.351 +rewrite_alternative
5.352 +options {backtrack=true;}
5.353 + : rewrite_template
5.354 + | rewrite_tree_alternative
5.355 + | /* empty rewrite */ -> ^(ALT["ALT"] EPSILON["EPSILON"] EOA["EOA"])
5.356 + ;
5.357 +
5.358 +rewrite_tree_block
5.359 + : lp='(' rewrite_tree_alternative ')'
5.360 + -> ^(BLOCK[$lp,"BLOCK"] rewrite_tree_alternative EOB[$lp,"EOB"])
5.361 + ;
5.362 +
5.363 +rewrite_tree_alternative
5.364 + : rewrite_tree_element+ -> ^(ALT["ALT"] rewrite_tree_element+ EOA["EOA"])
5.365 + ;
5.366 +
5.367 +rewrite_tree_element
5.368 + : rewrite_tree_atom
5.369 + | rewrite_tree_atom ebnfSuffix
5.370 + -> ^( ebnfSuffix ^(BLOCK["BLOCK"] ^(ALT["ALT"] rewrite_tree_atom EOA["EOA"]) EOB["EOB"]))
5.371 + | rewrite_tree
5.372 + ( ebnfSuffix
5.373 + -> ^(ebnfSuffix ^(BLOCK["BLOCK"] ^(ALT["ALT"] rewrite_tree EOA["EOA"]) EOB["EOB"]))
5.374 + | -> rewrite_tree
5.375 + )
5.376 + | rewrite_tree_ebnf
5.377 + ;
5.378 +
5.379 +rewrite_tree_atom
5.380 + : CHAR_LITERAL
5.381 + | TOKEN_REF ARG_ACTION? -> ^(TOKEN_REF ARG_ACTION?) // for imaginary nodes
5.382 + | RULE_REF
5.383 + | STRING_LITERAL
5.384 + | d='$' id -> LABEL[$d,$id.text] // reference to a label in a rewrite rule
5.385 + | ACTION
5.386 + ;
5.387 +
5.388 +rewrite_tree_ebnf
5.389 +@init {
5.390 + Token firstToken = input.LT(1);
5.391 +}
5.392 +@after {
5.393 + $rewrite_tree_ebnf.tree.getToken().setLine(firstToken.getLine());
5.394 + $rewrite_tree_ebnf.tree.getToken().setCharPositionInLine(firstToken.getCharPositionInLine());
5.395 +}
5.396 + : rewrite_tree_block ebnfSuffix -> ^(ebnfSuffix rewrite_tree_block)
5.397 + ;
5.398 +
5.399 +rewrite_tree
5.400 + : '^(' rewrite_tree_atom rewrite_tree_element* ')'
5.401 + -> ^(TREE_BEGIN rewrite_tree_atom rewrite_tree_element* )
5.402 + ;
5.403 +
5.404 +/** Build a tree for a template rewrite:
5.405 + ^(TEMPLATE (ID|ACTION) ^(ARGLIST ^(ARG ID ACTION) ...) )
5.406 + where ARGLIST is always there even if no args exist.
5.407 + ID can be "template" keyword. If first child is ACTION then it's
5.408 + an indirect template ref
5.409 +
5.410 + -> foo(a={...}, b={...})
5.411 + -> ({string-e})(a={...}, b={...}) // e evaluates to template name
5.412 + -> {%{$ID.text}} // create literal template from string (done in ActionTranslator)
5.413 + -> {st-expr} // st-expr evaluates to ST
5.414 + */
5.415 +rewrite_template
5.416 + : // -> template(a={...},...) "..." inline template
5.417 + id lp='(' rewrite_template_args ')'
5.418 + ( str=DOUBLE_QUOTE_STRING_LITERAL | str=DOUBLE_ANGLE_STRING_LITERAL )
5.419 + -> ^(TEMPLATE[$lp,"TEMPLATE"] id rewrite_template_args $str)
5.420 +
5.421 + | // -> foo(a={...}, ...)
5.422 + rewrite_template_ref
5.423 +
5.424 + | // -> ({expr})(a={...}, ...)
5.425 + rewrite_indirect_template_head
5.426 +
5.427 + | // -> {...}
5.428 + ACTION
5.429 + ;
5.430 +
5.431 +/** -> foo(a={...}, ...) */
5.432 +rewrite_template_ref
5.433 + : id lp='(' rewrite_template_args ')'
5.434 + -> ^(TEMPLATE[$lp,"TEMPLATE"] id rewrite_template_args)
5.435 + ;
5.436 +
5.437 +/** -> ({expr})(a={...}, ...) */
5.438 +rewrite_indirect_template_head
5.439 + : lp='(' ACTION ')' '(' rewrite_template_args ')'
5.440 + -> ^(TEMPLATE[$lp,"TEMPLATE"] ACTION rewrite_template_args)
5.441 + ;
5.442 +
5.443 +rewrite_template_args
5.444 + : rewrite_template_arg (',' rewrite_template_arg)*
5.445 + -> ^(ARGLIST rewrite_template_arg+)
5.446 + | -> ARGLIST
5.447 + ;
5.448 +
5.449 +rewrite_template_arg
5.450 + : id '=' ACTION -> ^(ARG[$id.start] id ACTION)
5.451 + ;
5.452 +
5.453 +id : TOKEN_REF -> ID[$TOKEN_REF]
5.454 + | RULE_REF -> ID[$RULE_REF]
5.455 + ;
5.456 +
5.457 +// L E X I C A L R U L E S
5.458 +
5.459 +SL_COMMENT
5.460 + : '//'
5.461 + ( ' $ANTLR ' SRC // src directive
5.462 + | ~('\r'|'\n')*
5.463 + )
5.464 + '\r'? '\n'
5.465 + {$channel=HIDDEN;}
5.466 + ;
5.467 +
5.468 +ML_COMMENT
5.469 + : '/*' {if (input.LA(1)=='*') $type=DOC_COMMENT; else $channel=HIDDEN;} .* '*/'
5.470 + ;
5.471 +
5.472 +CHAR_LITERAL
5.473 + : '\'' LITERAL_CHAR '\''
5.474 + ;
5.475 +
5.476 +STRING_LITERAL
5.477 + : '\'' LITERAL_CHAR LITERAL_CHAR* '\''
5.478 + ;
5.479 +
5.480 +fragment
5.481 +LITERAL_CHAR
5.482 + : ESC
5.483 + | ~('\''|'\\')
5.484 + ;
5.485 +
5.486 +DOUBLE_QUOTE_STRING_LITERAL
5.487 + : '"' (ESC | ~('\\'|'"'))* '"'
5.488 + ;
5.489 +
5.490 +DOUBLE_ANGLE_STRING_LITERAL
5.491 + : '<<' .* '>>'
5.492 + ;
5.493 +
5.494 +fragment
5.495 +ESC : '\\'
5.496 + ( 'n'
5.497 + | 'r'
5.498 + | 't'
5.499 + | 'b'
5.500 + | 'f'
5.501 + | '"'
5.502 + | '\''
5.503 + | '\\'
5.504 + | '>'
5.505 + | 'u' XDIGIT XDIGIT XDIGIT XDIGIT
5.506 + | . // unknown, leave as it is
5.507 + )
5.508 + ;
5.509 +
5.510 +fragment
5.511 +XDIGIT :
5.512 + '0' .. '9'
5.513 + | 'a' .. 'f'
5.514 + | 'A' .. 'F'
5.515 + ;
5.516 +
5.517 +INT : '0'..'9'+
5.518 + ;
5.519 +
5.520 +ARG_ACTION
5.521 + : NESTED_ARG_ACTION
5.522 + ;
5.523 +
5.524 +fragment
5.525 +NESTED_ARG_ACTION :
5.526 + '['
5.527 + ( options {greedy=false; k=1;}
5.528 + : NESTED_ARG_ACTION
5.529 + | ACTION_STRING_LITERAL
5.530 + | ACTION_CHAR_LITERAL
5.531 + | .
5.532 + )*
5.533 + ']'
5.534 + {setText(getText().substring(1, getText().length()-1));}
5.535 + ;
5.536 +
5.537 +ACTION
5.538 + : NESTED_ACTION ( '?' {$type = SEMPRED;} )?
5.539 + ;
5.540 +
5.541 +fragment
5.542 +NESTED_ACTION :
5.543 + '{'
5.544 + ( options {greedy=false; k=2;}
5.545 + : NESTED_ACTION
5.546 + | SL_COMMENT
5.547 + | ML_COMMENT
5.548 + | ACTION_STRING_LITERAL
5.549 + | ACTION_CHAR_LITERAL
5.550 + | .
5.551 + )*
5.552 + '}'
5.553 + ;
5.554 +
5.555 +fragment
5.556 +ACTION_CHAR_LITERAL
5.557 + : '\'' (ACTION_ESC|~('\\'|'\'')) '\''
5.558 + ;
5.559 +
5.560 +fragment
5.561 +ACTION_STRING_LITERAL
5.562 + : '"' (ACTION_ESC|~('\\'|'"'))* '"'
5.563 + ;
5.564 +
5.565 +fragment
5.566 +ACTION_ESC
5.567 + : '\\\''
5.568 + | '\\' '"' // ANTLR doesn't like: '\\"'
5.569 + | '\\' ~('\''|'"')
5.570 + ;
5.571 +
5.572 +TOKEN_REF
5.573 + : 'A'..'Z' ('a'..'z'|'A'..'Z'|'_'|'0'..'9')*
5.574 + ;
5.575 +
5.576 +RULE_REF
5.577 + : 'a'..'z' ('a'..'z'|'A'..'Z'|'_'|'0'..'9')*
5.578 + ;
5.579 +
5.580 +/** Match the start of an options section. Don't allow normal
5.581 + * action processing on the {...} as it's not a action.
5.582 + */
5.583 +OPTIONS
5.584 + : 'options' WS_LOOP '{'
5.585 + ;
5.586 +
5.587 +TOKENS
5.588 + : 'tokens' WS_LOOP '{'
5.589 + ;
5.590 +
5.591 +/** Reset the file and line information; useful when the grammar
5.592 + * has been generated so that errors are shown relative to the
5.593 + * original file like the old C preprocessor used to do.
5.594 + */
5.595 +fragment
5.596 +SRC : 'src' ' ' file=ACTION_STRING_LITERAL ' ' line=INT
5.597 + ;
5.598 +
5.599 +WS : ( ' '
5.600 + | '\t'
5.601 + | '\r'? '\n'
5.602 + )+
5.603 + {$channel=HIDDEN;}
5.604 + ;
5.605 +
5.606 +fragment
5.607 +WS_LOOP
5.608 + : ( WS
5.609 + | SL_COMMENT
5.610 + | ML_COMMENT
5.611 + )*
5.612 + ;
5.613 +
6.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
6.2 +++ b/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/AnlrTemplate.g Fri Jan 11 15:06:14 2013 +0100
6.3 @@ -0,0 +1,1 @@
6.4 +sample content
6.5 \ No newline at end of file
7.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
7.2 +++ b/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/AntlrCslLanguage.java Fri Jan 11 15:06:14 2013 +0100
7.3 @@ -0,0 +1,89 @@
7.4 +/*
7.5 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
7.6 + *
7.7 + * Copyright 2013 Oracle and/or its affiliates. All rights reserved.
7.8 + *
7.9 + * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
7.10 + * Other names may be trademarks of their respective owners.
7.11 + *
7.12 + * The contents of this file are subject to the terms of either the GNU
7.13 + * General Public License Version 2 only ("GPL") or the Common
7.14 + * Development and Distribution License("CDDL") (collectively, the
7.15 + * "License"). You may not use this file except in compliance with the
7.16 + * License. You can obtain a copy of the License at
7.17 + * http://www.netbeans.org/cddl-gplv2.html
7.18 + * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
7.19 + * specific language governing permissions and limitations under the
7.20 + * License. When distributing the software, include this License Header
7.21 + * Notice in each file and include the License file at
7.22 + * nbbuild/licenses/CDDL-GPL-2-CP. Oracle designates this
7.23 + * particular file as subject to the "Classpath" exception as provided
7.24 + * by Oracle in the GPL Version 2 section of the License file that
7.25 + * accompanied this code. If applicable, add the following below the
7.26 + * License Header, with the fields enclosed by brackets [] replaced by
7.27 + * your own identifying information:
7.28 + * "Portions Copyrighted [year] [name of copyright owner]"
7.29 + *
7.30 + * If you wish your version of this file to be governed by only the CDDL
7.31 + * or only the GPL Version 2, indicate your decision by adding
7.32 + * "[Contributor] elects to include this software in this distribution
7.33 + * under the [CDDL or GPL Version 2] license." If you do not indicate a
7.34 + * single choice of license, a recipient has the option to distribute
7.35 + * your version of this file under either the CDDL, the GPL Version 2 or
7.36 + * to extend the choice of license to its licensees as provided above.
7.37 + * However, if you add GPL Version 2 code and therefore, elected the GPL
7.38 + * Version 2 license, then the option applies only if the new code is
7.39 + * made subject to such option by the copyright holder.
7.40 + *
7.41 + * Contributor(s):
7.42 + *
7.43 + * Portions Copyrighted 2013 Sun Microsystems, Inc.
7.44 + */
7.45 +package org.netbeans.modules.antlr.editor;
7.46 +
7.47 +import org.netbeans.core.spi.multiview.MultiViewElement;
7.48 +import org.netbeans.core.spi.multiview.text.MultiViewEditorElement;
7.49 +import org.netbeans.modules.csl.spi.DefaultLanguageConfig;
7.50 +import org.netbeans.modules.csl.spi.LanguageRegistration;
7.51 +import org.netbeans.modules.parsing.spi.indexing.PathRecognizerRegistration;
7.52 +import org.openide.util.Lookup;
7.53 +import org.openide.util.NbBundle;
7.54 +import org.openide.windows.TopComponent;
7.55 +
7.56 +/**
7.57 + *
7.58 + * @author marekfukala
7.59 + */
7.60 +@NbBundle.Messages({
7.61 + "language.displaname=ANTLR Editor"
7.62 + })
7.63 +@LanguageRegistration(mimeType = "text/antlr", useMultiview = true)
7.64 +@PathRecognizerRegistration(mimeTypes = "text/antlr", libraryPathIds = {}, binaryLibraryPathIds = {}) //NOI18N
7.65 +public class AntlrCslLanguage extends DefaultLanguageConfig {
7.66 +
7.67 + @MultiViewElement.Registration(displayName = "#LBL_AntlrEditorTab",
7.68 + iconBase = "org/netbeans/modules/antlr/editor/build.png",
7.69 + persistenceType = TopComponent.PERSISTENCE_ONLY_OPENED,
7.70 + preferredID = "antlr.source",
7.71 + mimeType = "text/antlr",
7.72 + position = 1)
7.73 + public static MultiViewEditorElement createMultiViewEditorElement(Lookup context) {
7.74 + return new MultiViewEditorElement(context);
7.75 + }
7.76 +
7.77 + @Override
7.78 + public org.netbeans.api.lexer.Language getLexerLanguage() {
7.79 + return AntlrTokenId.language();
7.80 + }
7.81 +
7.82 + @Override
7.83 + public String getPreferredExtension() {
7.84 + return "g";
7.85 + }
7.86 +
7.87 + @Override
7.88 + public String getDisplayName() {
7.89 + return Bundle.language_displaname();
7.90 + }
7.91 +
7.92 +}
8.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
8.2 +++ b/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/AntlrLanguageHierarchy.java Fri Jan 11 15:06:14 2013 +0100
8.3 @@ -0,0 +1,71 @@
8.4 +/*
8.5 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
8.6 + *
8.7 + * Copyright 2011 Oracle and/or its affiliates. All rights reserved.
8.8 + *
8.9 + * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
8.10 + * Other names may be trademarks of their respective owners.
8.11 + *
8.12 + * The contents of this file are subject to the terms of either the GNU
8.13 + * General Public License Version 2 only ("GPL") or the Common
8.14 + * Development and Distribution License("CDDL") (collectively, the
8.15 + * "License"). You may not use this file except in compliance with the
8.16 + * License. You can obtain a copy of the License at
8.17 + * http://www.netbeans.org/cddl-gplv2.html
8.18 + * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
8.19 + * specific language governing permissions and limitations under the
8.20 + * License. When distributing the software, include this License Header
8.21 + * Notice in each file and include the License file at
8.22 + * nbbuild/licenses/CDDL-GPL-2-CP. Oracle designates this
8.23 + * particular file as subject to the "Classpath" exception as provided
8.24 + * by Oracle in the GPL Version 2 section of the License file that
8.25 + * accompanied this code. If applicable, add the following below the
8.26 + * License Header, with the fields enclosed by brackets [] replaced by
8.27 + * your own identifying information:
8.28 + * "Portions Copyrighted [year] [name of copyright owner]"
8.29 + *
8.30 + * If you wish your version of this file to be governed by only the CDDL
8.31 + * or only the GPL Version 2, indicate your decision by adding
8.32 + * "[Contributor] elects to include this software in this distribution
8.33 + * under the [CDDL or GPL Version 2] license." If you do not indicate a
8.34 + * single choice of license, a recipient has the option to distribute
8.35 + * your version of this file under either the CDDL, the GPL Version 2 or
8.36 + * to extend the choice of license to its licensees as provided above.
8.37 + * However, if you add GPL Version 2 code and therefore, elected the GPL
8.38 + * Version 2 license, then the option applies only if the new code is
8.39 + * made subject to such option by the copyright holder.
8.40 + *
8.41 + * Contributor(s):
8.42 + *
8.43 + * Portions Copyrighted 2011 Sun Microsystems, Inc.
8.44 + */
8.45 +package org.netbeans.modules.antlr.editor;
8.46 +
8.47 +import java.util.Collection;
8.48 +import java.util.EnumSet;
8.49 +import org.netbeans.spi.lexer.LanguageHierarchy;
8.50 +import org.netbeans.spi.lexer.Lexer;
8.51 +import org.netbeans.spi.lexer.LexerRestartInfo;
8.52 +
8.53 +/**
8.54 + *
8.55 + * @author marekfukala
8.56 + */
8.57 +public class AntlrLanguageHierarchy extends LanguageHierarchy<AntlrTokenId> {
8.58 +
8.59 + @Override
8.60 + protected Collection<AntlrTokenId> createTokenIds() {
8.61 + return EnumSet.allOf(AntlrTokenId.class);
8.62 + }
8.63 +
8.64 + @Override
8.65 + protected Lexer<AntlrTokenId> createLexer(LexerRestartInfo<AntlrTokenId> info) {
8.66 + return new NbAntlrLexer(info);
8.67 + }
8.68 +
8.69 + @Override
8.70 + protected String mimeType() {
8.71 + return "text/antlr";
8.72 + }
8.73 +
8.74 +}
9.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
9.2 +++ b/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/AntlrTokenId.java Fri Jan 11 15:06:14 2013 +0100
9.3 @@ -0,0 +1,196 @@
9.4 +/*
9.5 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
9.6 + *
9.7 + * Copyright 1997-2010 Oracle and/or its affiliates. All rights reserved.
9.8 + *
9.9 + * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
9.10 + * Other names may be trademarks of their respective owners.
9.11 + *
9.12 + * The contents of this file are subject to the terms of either the GNU
9.13 + * General Public License Version 2 only ("GPL") or the Common
9.14 + * Development and Distribution License("CDDL") (collectively, the
9.15 + * "License"). You may not use this file except in compliance with the
9.16 + * License. You can obtain a copy of the License at
9.17 + * http://www.netbeans.org/cddl-gplv2.html
9.18 + * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
9.19 + * specific language governing permissions and limitations under the
9.20 + * License. When distributing the software, include this License Header
9.21 + * Notice in each file and include the License file at
9.22 + * nbbuild/licenses/CDDL-GPL-2-CP. Oracle designates this
9.23 + * particular file as subject to the "Classpath" exception as provided
9.24 + * by Oracle in the GPL Version 2 section of the License file that
9.25 + * accompanied this code. If applicable, add the following below the
9.26 + * License Header, with the fields enclosed by brackets [] replaced by
9.27 + * your own identifying information:
9.28 + * "Portions Copyrighted [year] [name of copyright owner]"
9.29 + *
9.30 + * Contributor(s):
9.31 + *
9.32 + * The Original Software is NetBeans. The Initial Developer of the Original
9.33 + * Software is Sun Microsystems, Inc. Portions Copyright 1997-2006 Sun
9.34 + * Microsystems, Inc. All Rights Reserved.
9.35 + *
9.36 + * If you wish your version of this file to be governed by only the CDDL
9.37 + * or only the GPL Version , indicate your decision by adding
9.38 + * "[Contributor] elects to include this software in this distribution
9.39 + * under the [CDDL or GPL Version 2] license." If you do not indicate a
9.40 + * single choice of license, a recipient has the option to distribute
9.41 + * your version of this file under either the CDDL, the GPL Version 2 or
9.42 + * to extend the choice of license to its licensees as provided above.
9.43 + * However, if you add GPL Version 2 code and therefore, elected the GPL
9.44 + * Version 2 license, then the option applies only if the new code is
9.45 + * made subject to such option by the copyright holder.
9.46 + */
9.47 +package org.netbeans.modules.antlr.editor;
9.48 +
9.49 +import java.util.HashMap;
9.50 +import java.util.Map;
9.51 +import org.netbeans.api.lexer.Language;
9.52 +import org.netbeans.api.lexer.TokenHierarchy;
9.53 +import org.netbeans.api.lexer.TokenId;
9.54 +import org.netbeans.api.lexer.TokenSequence;
9.55 +import static org.netbeans.modules.antlr.editor.AntlrTokenIdCategory.*;
9.56 +import org.netbeans.antlr.editor.gen.ANTLRv3Lexer;
9.57 +
9.58 +/**
9.59 + * Token ids of CSS language
9.60 + *
9.61 + * @author Marek Fukala
9.62 + */
9.63 +public enum AntlrTokenId implements TokenId {
9.64 +
9.65 + EOF(ANTLRv3Lexer.EOF, OTHERS),
9.66 + DOC_COMMENT(ANTLRv3Lexer.DOC_COMMENT, COMMENTS),
9.67 + PARSER(ANTLRv3Lexer.PARSER, KEYWORDS),
9.68 + LEXER(ANTLRv3Lexer.LEXER, KEYWORDS),
9.69 + RULE(ANTLRv3Lexer.RULE, OTHERS),
9.70 + BLOCK(ANTLRv3Lexer.BLOCK, OTHERS),
9.71 + OPTIONAL(ANTLRv3Lexer.OPTIONAL, OTHERS),
9.72 + CLOSURE(ANTLRv3Lexer.CLOSURE, OTHERS),
9.73 + POSITIVE_CLOSURE(ANTLRv3Lexer.POSITIVE_CLOSURE, OTHERS),
9.74 + SYNPRED(ANTLRv3Lexer.SYNPRED, OTHERS),
9.75 + RANGE(ANTLRv3Lexer.RANGE, OTHERS),
9.76 + CHAR_RANGE(ANTLRv3Lexer.CHAR_RANGE, OTHERS),
9.77 + EPSILON(ANTLRv3Lexer.EPSILON, OTHERS),
9.78 + ALT(ANTLRv3Lexer.ALT, OTHERS),
9.79 + EOR(ANTLRv3Lexer.EOR, OTHERS),
9.80 + EOB(ANTLRv3Lexer.EOB, OTHERS),
9.81 + EOA(ANTLRv3Lexer.EOA, OTHERS),
9.82 + ID(ANTLRv3Lexer.ID, OTHERS),
9.83 + ARG(ANTLRv3Lexer.ARG, OTHERS),
9.84 + ARGLIST(ANTLRv3Lexer.ARGLIST, OTHERS),
9.85 + RET(ANTLRv3Lexer.RET, OTHERS),
9.86 + LEXER_GRAMMAR(ANTLRv3Lexer.LEXER_GRAMMAR, OTHERS),
9.87 + PARSER_GRAMMAR(ANTLRv3Lexer.PARSER_GRAMMAR, OTHERS),
9.88 + TREE_GRAMMAR(ANTLRv3Lexer.TREE_GRAMMAR, OTHERS),
9.89 + COMBINED_GRAMMAR(ANTLRv3Lexer.COMBINED_GRAMMAR, OTHERS),
9.90 + INITACTION(ANTLRv3Lexer.INITACTION, OTHERS),
9.91 + LABEL(ANTLRv3Lexer.LABEL, OTHERS),
9.92 + TEMPLATE(ANTLRv3Lexer.TEMPLATE, OTHERS),
9.93 + SCOPE(ANTLRv3Lexer.SCOPE, OTHERS),
9.94 + SEMPRED(ANTLRv3Lexer.SEMPRED, OTHERS),
9.95 + GATED_SEMPRED(ANTLRv3Lexer.GATED_SEMPRED, OTHERS),
9.96 + SYN_SEMPRED(ANTLRv3Lexer.SYN_SEMPRED, OTHERS),
9.97 + BACKTRACK_SEMPRED(ANTLRv3Lexer.BACKTRACK_SEMPRED, OTHERS),
9.98 + FRAGMENT(ANTLRv3Lexer.FRAGMENT, OTHERS),
9.99 + TREE_BEGIN(ANTLRv3Lexer.TREE_BEGIN, OTHERS),
9.100 + ROOT(ANTLRv3Lexer.ROOT, OTHERS),
9.101 + BANG(ANTLRv3Lexer.BANG, OTHERS),
9.102 + REWRITE(ANTLRv3Lexer.REWRITE, OTHERS),
9.103 + TOKENS(ANTLRv3Lexer.TOKENS, OTHERS),
9.104 + TOKEN_REF(ANTLRv3Lexer.TOKEN_REF, OTHERS),
9.105 + STRING_LITERAL(ANTLRv3Lexer.STRING_LITERAL, OTHERS),
9.106 + CHAR_LITERAL(ANTLRv3Lexer.CHAR_LITERAL, OTHERS),
9.107 + ACTION(ANTLRv3Lexer.ACTION, OTHERS),
9.108 + OPTIONS(ANTLRv3Lexer.OPTIONS, OTHERS),
9.109 + INT(ANTLRv3Lexer.INT, OTHERS),
9.110 + ARG_ACTION(ANTLRv3Lexer.ARG_ACTION, OTHERS),
9.111 + RULE_REF(ANTLRv3Lexer.RULE_REF, OTHERS),
9.112 + DOUBLE_QUOTE_STRING_LITERAL(ANTLRv3Lexer.DOUBLE_QUOTE_STRING_LITERAL, OTHERS),
9.113 + DOUBLE_ANGLE_STRING_LITERAL(ANTLRv3Lexer.DOUBLE_ANGLE_STRING_LITERAL, OTHERS),
9.114 + SRC(ANTLRv3Lexer.SRC, OTHERS),
9.115 + SL_COMMENT(ANTLRv3Lexer.SL_COMMENT, OTHERS),
9.116 + ML_COMMENT(ANTLRv3Lexer.ML_COMMENT, OTHERS),
9.117 + LITERAL_CHAR(ANTLRv3Lexer.LITERAL_CHAR, OTHERS),
9.118 + ESC(ANTLRv3Lexer.ESC, OTHERS),
9.119 + XDIGIT(ANTLRv3Lexer.XDIGIT, OTHERS),
9.120 + NESTED_ARG_ACTION(ANTLRv3Lexer.NESTED_ARG_ACTION, OTHERS),
9.121 + ACTION_STRING_LITERAL(ANTLRv3Lexer.ACTION_STRING_LITERAL, OTHERS),
9.122 + ACTION_CHAR_LITERAL(ANTLRv3Lexer.ACTION_CHAR_LITERAL, OTHERS),
9.123 + NESTED_ACTION(ANTLRv3Lexer.NESTED_ACTION, OTHERS),
9.124 + ACTION_ESC(ANTLRv3Lexer.ACTION_ESC, OTHERS),
9.125 + WS_LOOP(ANTLRv3Lexer.WS_LOOP, OTHERS),
9.126 + WS(ANTLRv3Lexer.WS, OTHERS);
9.127 +
9.128 + private static final Map<Integer, AntlrTokenId> codesMap = new HashMap<Integer, AntlrTokenId>();
9.129 +
9.130 + static {
9.131 + for (AntlrTokenId id : values()) {
9.132 + codesMap.put(id.code, id);
9.133 + }
9.134 + }
9.135 +
9.136 + public static AntlrTokenId forTokenTypeCode(int tokenTypeCode) {
9.137 + return codesMap.get(tokenTypeCode);
9.138 + }
9.139 + private final AntlrTokenIdCategory primaryCategory;
9.140 + private final int code;
9.141 + private static final Language<AntlrTokenId> language = new AntlrLanguageHierarchy().language();
9.142 +
9.143 + AntlrTokenId(int code, AntlrTokenIdCategory primaryCategory) {
9.144 + this.primaryCategory = primaryCategory;
9.145 + this.code = code;
9.146 + }
9.147 +
9.148 + /**
9.149 + * Gets a LanguageDescription describing a set of token ids that comprise
9.150 + * the given language.
9.151 + *
9.152 + * @return non-null LanguageDescription
9.153 + */
9.154 + public static Language<AntlrTokenId> language() {
9.155 + return language;
9.156 + }
9.157 +
9.158 + /**
9.159 + * Get name of primary token category into which this token belongs.
9.160 + * <br/>
9.161 + * Other token categories for this id can be defined in the language
9.162 + * hierarchy.
9.163 + *
9.164 + * @return name of the primary token category into which this token belongs
9.165 + * or null if there is no primary category for this token.
9.166 + */
9.167 + @Override
9.168 + public String primaryCategory() {
9.169 + return primaryCategory.name().toLowerCase();
9.170 + }
9.171 +
9.172 + /**
9.173 + * same as primaryCategory() but returns CssTokenIdCategory enum member
9.174 + */
9.175 + public AntlrTokenIdCategory getTokenCategory() {
9.176 + return primaryCategory;
9.177 + }
9.178 +
9.179 + /**
9.180 + * Verifies whether the given input text is lexed as on token of this type.
9.181 + *
9.182 + * If some part of the input text is not matched by the css token the method
9.183 + * returns false.
9.184 + *
9.185 + * @since 1.12
9.186 + * @param input source code to be lexed
9.187 + * @return true if the whole source code is lexed as a token of this type.
9.188 + */
9.189 + public boolean matchesInput(CharSequence input) {
9.190 + TokenHierarchy<CharSequence> th = TokenHierarchy.create(input, AntlrTokenId.language());
9.191 + TokenSequence<AntlrTokenId> ts = th.tokenSequence(AntlrTokenId.language());
9.192 + ts.moveStart();
9.193 + if (!ts.moveNext()) {
9.194 + return false;
9.195 + }
9.196 + org.netbeans.api.lexer.Token<AntlrTokenId> t = ts.token();
9.197 + return !ts.moveNext() && t.id() == this;
9.198 + }
9.199 +}
10.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
10.2 +++ b/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/AntlrTokenIdCategory.java Fri Jan 11 15:06:14 2013 +0100
10.3 @@ -0,0 +1,53 @@
10.4 +/*
10.5 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
10.6 + *
10.7 + * Copyright 2011 Oracle and/or its affiliates. All rights reserved.
10.8 + *
10.9 + * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
10.10 + * Other names may be trademarks of their respective owners.
10.11 + *
10.12 + * The contents of this file are subject to the terms of either the GNU
10.13 + * General Public License Version 2 only ("GPL") or the Common
10.14 + * Development and Distribution License("CDDL") (collectively, the
10.15 + * "License"). You may not use this file except in compliance with the
10.16 + * License. You can obtain a copy of the License at
10.17 + * http://www.netbeans.org/cddl-gplv2.html
10.18 + * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
10.19 + * specific language governing permissions and limitations under the
10.20 + * License. When distributing the software, include this License Header
10.21 + * Notice in each file and include the License file at
10.22 + * nbbuild/licenses/CDDL-GPL-2-CP. Oracle designates this
10.23 + * particular file as subject to the "Classpath" exception as provided
10.24 + * by Oracle in the GPL Version 2 section of the License file that
10.25 + * accompanied this code. If applicable, add the following below the
10.26 + * License Header, with the fields enclosed by brackets [] replaced by
10.27 + * your own identifying information:
10.28 + * "Portions Copyrighted [year] [name of copyright owner]"
10.29 + *
10.30 + * If you wish your version of this file to be governed by only the CDDL
10.31 + * or only the GPL Version 2, indicate your decision by adding
10.32 + * "[Contributor] elects to include this software in this distribution
10.33 + * under the [CDDL or GPL Version 2] license." If you do not indicate a
10.34 + * single choice of license, a recipient has the option to distribute
10.35 + * your version of this file under either the CDDL, the GPL Version 2 or
10.36 + * to extend the choice of license to its licensees as provided above.
10.37 + * However, if you add GPL Version 2 code and therefore, elected the GPL
10.38 + * Version 2 license, then the option applies only if the new code is
10.39 + * made subject to such option by the copyright holder.
10.40 + *
10.41 + * Contributor(s):
10.42 + *
10.43 + * Portions Copyrighted 2011 Sun Microsystems, Inc.
10.44 + */
10.45 +package org.netbeans.modules.antlr.editor;
10.46 +
10.47 +/**
10.48 + *
10.49 + * @author marekfukala
10.50 + */
10.51 +public enum AntlrTokenIdCategory {
10.52 +
10.53 + KEYWORDS, ERRORS, OTHERS, NUMBERS, WHITESPACES, BRACES, IDENTIFIERS, STRINGS,
10.54 + SEPARATORS, OPERATORS, COMMENTS;
10.55 +
10.56 +}
11.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
11.2 +++ b/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/Bundle.properties Fri Jan 11 15:06:14 2013 +0100
11.3 @@ -0,0 +1,2 @@
11.4 +OpenIDE-Module-Name=ANTLR Editor
11.5 +LBL_AntlrEditorTab=ANTLR
11.6 \ No newline at end of file
12.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
12.2 +++ b/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ExtANTLRv3Lexer.java Fri Jan 11 15:06:14 2013 +0100
12.3 @@ -0,0 +1,170 @@
12.4 +/*
12.5 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
12.6 + *
12.7 + * Copyright 2011 Oracle and/or its affiliates. All rights reserved.
12.8 + *
12.9 + * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
12.10 + * Other names may be trademarks of their respective owners.
12.11 + *
12.12 + * The contents of this file are subject to the terms of either the GNU
12.13 + * General Public License Version 2 only ("GPL") or the Common
12.14 + * Development and Distribution License("CDDL") (collectively, the
12.15 + * "License"). You may not use this file except in compliance with the
12.16 + * License. You can obtain a copy of the License at
12.17 + * http://www.netbeans.org/cddl-gplv2.html
12.18 + * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
12.19 + * specific language governing permissions and limitations under the
12.20 + * License. When distributing the software, include this License Header
12.21 + * Notice in each file and include the License file at
12.22 + * nbbuild/licenses/CDDL-GPL-2-CP. Oracle designates this
12.23 + * particular file as subject to the "Classpath" exception as provided
12.24 + * by Oracle in the GPL Version 2 section of the License file that
12.25 + * accompanied this code. If applicable, add the following below the
12.26 + * License Header, with the fields enclosed by brackets [] replaced by
12.27 + * your own identifying information:
12.28 + * "Portions Copyrighted [year] [name of copyright owner]"
12.29 + *
12.30 + * If you wish your version of this file to be governed by only the CDDL
12.31 + * or only the GPL Version 2, indicate your decision by adding
12.32 + * "[Contributor] elects to include this software in this distribution
12.33 + * under the [CDDL or GPL Version 2] license." If you do not indicate a
12.34 + * single choice of license, a recipient has the option to distribute
12.35 + * your version of this file under either the CDDL, the GPL Version 2 or
12.36 + * to extend the choice of license to its licensees as provided above.
12.37 + * However, if you add GPL Version 2 code and therefore, elected the GPL
12.38 + * Version 2 license, then the option applies only if the new code is
12.39 + * made subject to such option by the copyright holder.
12.40 + *
12.41 + * Contributor(s):
12.42 + *
12.43 + * Portions Copyrighted 2011 Sun Microsystems, Inc.
12.44 + */
12.45 +package org.netbeans.modules.antlr.editor;
12.46 +
12.47 +import java.util.ArrayList;
12.48 +import java.util.List;
12.49 +import org.antlr.runtime.*;
12.50 +import org.openide.util.NbBundle;
12.51 +import org.netbeans.antlr.editor.gen.*;
12.52 +
12.53 +/**
12.54 + * Note: Funny aspect of the ANTLR lexer is that it doesn't create any kind of
12.55 + * error tokens. So if there's a character in the input which cannot be properly
12.56 + * made a part of a token it is simply skipped. The result is that the sequence
12.57 + * of tokens is not continuous and there might be "holes".
12.58 + *
12.59 + * @author marekfukala
12.60 + */
12.61 +public class ExtANTLRv3Lexer extends ANTLRv3Lexer {
12.62 +
12.63 +// private List<ProblemDescription> problems = new ArrayList<ProblemDescription>();
12.64 +
12.65 + public ExtANTLRv3Lexer(CharStream input, RecognizerSharedState state) {
12.66 + super(input, state);
12.67 + }
12.68 +
12.69 + public ExtANTLRv3Lexer(CharStream input) {
12.70 + super(input);
12.71 + }
12.72 +
12.73 + /**
12.74 + * Preferred constructor.
12.75 + *
12.76 + * Make the Css3Lexer case insensitive by default - the characters passed to
12.77 + * the lexer are converted to upper case. The token images are in the
12.78 + * original case though.
12.79 + */
12.80 + public ExtANTLRv3Lexer(CharSequence charSequence) {
12.81 +
12.82 + this(new ANTLRStringStream(charSequence.toString()) {
12.83 + @Override
12.84 + public int LA(int i) {
12.85 + if (i == 0) {
12.86 + return 0; // undefined
12.87 + }
12.88 + if (i < 0) {
12.89 + i++; // e.g., translate LA(-1) to use offset 0
12.90 + }
12.91 +
12.92 + if ((p + i - 1) >= n) {
12.93 +
12.94 + return CharStream.EOF;
12.95 + }
12.96 + return Character.toUpperCase(data[p + i - 1]);
12.97 + }
12.98 + });
12.99 +
12.100 + }
12.101 +
12.102 + @Override
12.103 + //overridden since we need to produce error tokens for unrecognized input,
12.104 + //by default such content is only skipped and the resulting token sequence
12.105 + //contains "holes".
12.106 + //
12.107 + //this way of solving the proble seems to be the official one:
12.108 + //http://www.antlr.org/wiki/pages/viewpage.action?pageId=5341230
12.109 + public Token nextToken() {
12.110 + while (true) {
12.111 + state.token = null;
12.112 + state.channel = Token.DEFAULT_CHANNEL;
12.113 + state.tokenStartCharIndex = input.index();
12.114 + state.tokenStartCharPositionInLine = input.getCharPositionInLine();
12.115 + state.tokenStartLine = input.getLine();
12.116 + state.text = null;
12.117 + if (input.LA(1) == CharStream.EOF) {
12.118 + Token eof = new CommonToken(input, Token.EOF,
12.119 + Token.DEFAULT_CHANNEL,
12.120 + input.index(), input.index());
12.121 + eof.setLine(getLine());
12.122 + eof.setCharPositionInLine(getCharPositionInLine());
12.123 + return eof;
12.124 + }
12.125 + try {
12.126 + mTokens();
12.127 + if (state.token == null) {
12.128 + emit();
12.129 + } else if (state.token == Token.SKIP_TOKEN) {
12.130 + continue;
12.131 + }
12.132 + return state.token;
12.133 + } catch (RecognitionException re) {
12.134 + reportError(re);
12.135 + if (re instanceof NoViableAltException) {
12.136 + recover(re);
12.137 + }
12.138 + // create token that holds mismatched char
12.139 + Token t = new CommonToken(input, Token.INVALID_TOKEN_TYPE,
12.140 + Token.DEFAULT_CHANNEL,
12.141 + state.tokenStartCharIndex,
12.142 + getCharIndex() - 1);
12.143 + t.setLine(state.tokenStartLine);
12.144 + t.setCharPositionInLine(state.tokenStartCharPositionInLine);
12.145 + emit(t);
12.146 + return state.token;
12.147 + }
12.148 + }
12.149 + }
12.150 +
12.151 + @Override
12.152 + public void displayRecognitionError(String[] tokenNames, RecognitionException e) {
12.153 + StringBuilder b = new StringBuilder();
12.154 + b.append(getErrorHeader(e));
12.155 + b.append(' ');
12.156 +
12.157 + if (e instanceof NoViableAltException) {
12.158 + //lexing error - unexpected character in the char stream
12.159 +// char unexpectedChar = (char) input.LA(1);
12.160 +// b.append(NbBundle.getMessage(ExtCss3Lexer.class, "MSG_Error_Unexpected_Char", unexpectedChar));
12.161 +// ProblemDescription pp = new ProblemDescription(e.input.index(), e.input.index() + 1, b.toString(), ProblemDescription.Keys.LEXING.name(), Type.ERROR);
12.162 +// problems.add(pp);
12.163 + } else {
12.164 + b.append(getErrorHeader(e));
12.165 + b.append(getErrorMessage(e, tokenNames));
12.166 + }
12.167 +
12.168 + }
12.169 +
12.170 +// public List<ProblemDescription> getProblems() {
12.171 +// return problems;
12.172 +// }
12.173 +}
13.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
13.2 +++ b/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/NbAntlrLexer.java Fri Jan 11 15:06:14 2013 +0100
13.3 @@ -0,0 +1,90 @@
13.4 +/*
13.5 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
13.6 + *
13.7 + * Copyright 1997-2010 Oracle and/or its affiliates. All rights reserved.
13.8 + *
13.9 + * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
13.10 + * Other names may be trademarks of their respective owners.
13.11 + *
13.12 + * The contents of this file are subject to the terms of either the GNU
13.13 + * General Public License Version 2 only ("GPL") or the Common
13.14 + * Development and Distribution License("CDDL") (collectively, the
13.15 + * "License"). You may not use this file except in compliance with the
13.16 + * License. You can obtain a copy of the License at
13.17 + * http://www.netbeans.org/cddl-gplv2.html
13.18 + * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
13.19 + * specific language governing permissions and limitations under the
13.20 + * License. When distributing the software, include this License Header
13.21 + * Notice in each file and include the License file at
13.22 + * nbbuild/licenses/CDDL-GPL-2-CP. Oracle designates this
13.23 + * particular file as subject to the "Classpath" exception as provided
13.24 + * by Oracle in the GPL Version 2 section of the License file that
13.25 + * accompanied this code. If applicable, add the following below the
13.26 + * License Header, with the fields enclosed by brackets [] replaced by
13.27 + * your own identifying information:
13.28 + * "Portions Copyrighted [year] [name of copyright owner]"
13.29 + *
13.30 + * Contributor(s):
13.31 + *
13.32 + * The Original Software is NetBeans. The Initial Developer of the Original
13.33 + * Software is Sun Microsystems, Inc. Portions Copyright 1997-2006 Sun
13.34 + * Microsystems, Inc. All Rights Reserved.
13.35 + *
13.36 + * If you wish your version of this file to be governed by only the CDDL
13.37 + * or only the GPL Version 2, indicate your decision by adding
13.38 + * "[Contributor] elects to include this software in this distribution
13.39 + * under the [CDDL or GPL Version 2] license." If you do not indicate a
13.40 + * single choice of license, a recipient has the option to distribute
13.41 + * your version of this file under either the CDDL, the GPL Version 2 or
13.42 + * to extend the choice of license to its licensees as provided above.
13.43 + * However, if you add GPL Version 2 code and therefore, elected the GPL
13.44 + * Version 2 license, then the option applies only if the new code is
13.45 + * made subject to such option by the copyright holder.
13.46 + */
13.47 +package org.netbeans.modules.antlr.editor;
13.48 +
13.49 +import org.netbeans.api.lexer.Token;
13.50 +import org.netbeans.spi.lexer.Lexer;
13.51 +import org.netbeans.spi.lexer.LexerRestartInfo;
13.52 +import org.netbeans.spi.lexer.TokenFactory;
13.53 +import org.netbeans.antlr.editor.gen.ANTLRv3Lexer;
13.54 +
13.55 +/**
13.56 + * antlr lexer
13.57 + *
13.58 + * @author Marek Fukala
13.59 + * @version 1.00
13.60 + */
13.61 +public class NbAntlrLexer implements Lexer<AntlrTokenId> {
13.62 +
13.63 + private final TokenFactory<AntlrTokenId> tokenFactory;
13.64 + private ANTLRv3Lexer antlrLexer;
13.65 +
13.66 + @Override
13.67 + public Object state() {
13.68 + return null; //stateless
13.69 + }
13.70 +
13.71 + public NbAntlrLexer(LexerRestartInfo<AntlrTokenId> info) {
13.72 + tokenFactory = info.tokenFactory();
13.73 + antlrLexer = new ExtANTLRv3Lexer(new NbLexerCharStream(info));
13.74 + }
13.75 +
13.76 + @Override
13.77 + public Token<AntlrTokenId> nextToken() {
13.78 + org.antlr.runtime.Token token = antlrLexer.nextToken();
13.79 + int tokenTypeCode = token.getType();
13.80 + AntlrTokenId tokenId = AntlrTokenId.forTokenTypeCode(tokenTypeCode);
13.81 +
13.82 + if(tokenId == AntlrTokenId.EOF) {
13.83 + return null; //end of input
13.84 + } else {
13.85 + return tokenFactory.createToken(tokenId);
13.86 + }
13.87 + }
13.88 +
13.89 + @Override
13.90 + public void release() {
13.91 + antlrLexer = null;
13.92 + }
13.93 +}
14.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
14.2 +++ b/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/NbLexerCharStream.java Fri Jan 11 15:06:14 2013 +0100
14.3 @@ -0,0 +1,195 @@
14.4 +/*
14.5 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
14.6 + *
14.7 + * Copyright 2011 Oracle and/or its affiliates. All rights reserved.
14.8 + *
14.9 + * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
14.10 + * Other names may be trademarks of their respective owners.
14.11 + *
14.12 + * The contents of this file are subject to the terms of either the GNU
14.13 + * General Public License Version 2 only ("GPL") or the Common
14.14 + * Development and Distribution License("CDDL") (collectively, the
14.15 + * "License"). You may not use this file except in compliance with the
14.16 + * License. You can obtain a copy of the License at
14.17 + * http://www.netbeans.org/cddl-gplv2.html
14.18 + * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
14.19 + * specific language governing permissions and limitations under the
14.20 + * License. When distributing the software, include this License Header
14.21 + * Notice in each file and include the License file at
14.22 + * nbbuild/licenses/CDDL-GPL-2-CP. Oracle designates this
14.23 + * particular file as subject to the "Classpath" exception as provided
14.24 + * by Oracle in the GPL Version 2 section of the License file that
14.25 + * accompanied this code. If applicable, add the following below the
14.26 + * License Header, with the fields enclosed by brackets [] replaced by
14.27 + * your own identifying information:
14.28 + * "Portions Copyrighted [year] [name of copyright owner]"
14.29 + *
14.30 + * If you wish your version of this file to be governed by only the CDDL
14.31 + * or only the GPL Version 2, indicate your decision by adding
14.32 + * "[Contributor] elects to include this software in this distribution
14.33 + * under the [CDDL or GPL Version 2] license." If you do not indicate a
14.34 + * single choice of license, a recipient has the option to distribute
14.35 + * your version of this file under either the CDDL, the GPL Version 2 or
14.36 + * to extend the choice of license to its licensees as provided above.
14.37 + * However, if you add GPL Version 2 code and therefore, elected the GPL
14.38 + * Version 2 license, then the option applies only if the new code is
14.39 + * made subject to such option by the copyright holder.
14.40 + *
14.41 + * Contributor(s):
14.42 + *
14.43 + * Portions Copyrighted 2011 Sun Microsystems, Inc.
14.44 + */
14.45 +package org.netbeans.modules.antlr.editor;
14.46 +
14.47 +import java.util.Stack;
14.48 +import org.antlr.runtime.CharStream;
14.49 +import org.netbeans.spi.lexer.LexerInput;
14.50 +import org.netbeans.spi.lexer.LexerRestartInfo;
14.51 +
14.52 +/**
14.53 + *
14.54 + * @author marekfukala
14.55 + */
14.56 +public class NbLexerCharStream implements CharStream {
14.57 +
14.58 + private static final String STREAM_NAME = "NbLexerCharStream"; //NOI18N
14.59 + private LexerInput li;
14.60 + private Stack<Integer> markers = new Stack<Integer>();
14.61 +// private int index;
14.62 +
14.63 + public NbLexerCharStream(LexerRestartInfo lri) {
14.64 + this.li = lri.input();
14.65 +
14.66 + }
14.67 +
14.68 + @Override
14.69 + public String substring(int i, int i1) {
14.70 + return li.readText(i, i1).toString();
14.71 + }
14.72 +
14.73 + @Override
14.74 + public int LT(int i) {
14.75 + return LA(i);
14.76 + }
14.77 +
14.78 + @Override
14.79 + public int getLine() {
14.80 + return -1;
14.81 + }
14.82 +
14.83 + @Override
14.84 + public void setLine(int i) {
14.85 + //no-op
14.86 + }
14.87 +
14.88 + @Override
14.89 + public void setCharPositionInLine(int i) {
14.90 + //no-op
14.91 + }
14.92 +
14.93 + @Override
14.94 + public int getCharPositionInLine() {
14.95 + return -1;
14.96 + }
14.97 +
14.98 + @Override
14.99 + public void consume() {
14.100 + read();
14.101 +// index++;
14.102 + }
14.103 +
14.104 + @Override
14.105 + public int LA(int lookahead) {
14.106 + if (lookahead == 0) {
14.107 + return 0; //the behaviour is not defined
14.108 + }
14.109 +
14.110 + int c = 0;
14.111 + for (int i = 0; i < lookahead; i++) {
14.112 + c = read();
14.113 + }
14.114 + li.backup(lookahead);
14.115 + return c;
14.116 + }
14.117 +
14.118 + @Override
14.119 + public int mark() {
14.120 + markers.push(index());
14.121 + return markers.size() - 1;
14.122 + }
14.123 +
14.124 + @Override
14.125 + public int index() {
14.126 + return li.readLengthEOF();
14.127 + }
14.128 +
14.129 + @Override
14.130 + public void rewind(int marker) {
14.131 + if(markers.size() < marker) {
14.132 + return ; //report?
14.133 + }
14.134 + int markedIndex = markers.get(marker);
14.135 +
14.136 + //remove all markers after the given one, keep the requested one
14.137 + for(int i = marker + 1; i < markers.size(); i++) {
14.138 + markers.remove(i);
14.139 + }
14.140 +
14.141 + //seek to the marked index
14.142 + seek(markedIndex);
14.143 + }
14.144 +
14.145 + @Override
14.146 + public void rewind() {
14.147 + if(markers.isEmpty()) {
14.148 + return ;
14.149 + }
14.150 +
14.151 + rewind(markers.size() - 1);
14.152 + }
14.153 +
14.154 + @Override
14.155 + public void release(int marker) {
14.156 + if(markers.size() < marker) {
14.157 + return ; //report?
14.158 + }
14.159 +
14.160 + //remove all markers from the given one, including the requested one
14.161 + for(int i = marker; i < markers.size(); i++) {
14.162 + markers.remove(i);
14.163 + }
14.164 + }
14.165 +
14.166 + @Override
14.167 + public void seek(int i) {
14.168 + if (i < index()) {
14.169 + //go backward
14.170 + li.backup(index() - i);
14.171 +// index = i;
14.172 + } else {
14.173 + // go forward
14.174 + while (index() < i) {
14.175 + consume();
14.176 + }
14.177 + }
14.178 + }
14.179 +
14.180 + @Override
14.181 + public int size() {
14.182 + return -1; //not supported
14.183 + }
14.184 +
14.185 + @Override
14.186 + public String getSourceName() {
14.187 + return STREAM_NAME;
14.188 + }
14.189 +
14.190 + private int read() {
14.191 + int result = li.read();
14.192 + if (result == LexerInput.EOF) {
14.193 + result = CharStream.EOF;
14.194 + }
14.195 +
14.196 + return result;
14.197 + }
14.198 +}
15.1 Binary file o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/build.png has changed
16.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
16.2 +++ b/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/fontsColors.xml Fri Jan 11 15:06:14 2013 +0100
16.3 @@ -0,0 +1,53 @@
16.4 +<?xml version="1.0" encoding="UTF-8"?>
16.5 +<!--
16.6 +DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
16.7 +
16.8 +Copyright 1997-2010 Oracle and/or its affiliates. All rights reserved.
16.9 +
16.10 +Oracle and Java are registered trademarks of Oracle and/or its affiliates.
16.11 +Other names may be trademarks of their respective owners.
16.12 +
16.13 +
16.14 +The contents of this file are subject to the terms of either the GNU
16.15 +General Public License Version 2 only ("GPL") or the Common
16.16 +Development and Distribution License("CDDL") (collectively, the
16.17 +"License"). You may not use this file except in compliance with the
16.18 +License. You can obtain a copy of the License at
16.19 +http://www.netbeans.org/cddl-gplv2.html
16.20 +or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
16.21 +specific language governing permissions and limitations under the
16.22 +License. When distributing the software, include this License Header
16.23 +Notice in each file and include the License file at
16.24 +nbbuild/licenses/CDDL-GPL-2-CP. Oracle designates this
16.25 +particular file as subject to the "Classpath" exception as provided
16.26 +by Oracle in the GPL Version 2 section of the License file that
16.27 +accompanied this code. If applicable, add the following below the
16.28 +License Header, with the fields enclosed by brackets [] replaced by
16.29 +your own identifying information:
16.30 +"Portions Copyrighted [year] [name of copyright owner]"
16.31 +
16.32 +Contributor(s):
16.33 +
16.34 +The Original Software is NetBeans. The Initial Developer of the Original
16.35 +Software is Sun Microsystems, Inc. Portions Copyright 1997-2006 Sun
16.36 +Microsystems, Inc. All Rights Reserved.
16.37 +
16.38 +If you wish your version of this file to be governed by only the CDDL
16.39 +or only the GPL Version 2, indicate your decision by adding
16.40 +"[Contributor] elects to include this software in this distribution
16.41 +under the [CDDL or GPL Version 2] license." If you do not indicate a
16.42 +single choice of license, a recipient has the option to distribute
16.43 +your version of this file under either the CDDL, the GPL Version 2 or
16.44 +to extend the choice of license to its licensees as provided above.
16.45 +However, if you add GPL Version 2 code and therefore, elected the GPL
16.46 +Version 2 license, then the option applies only if the new code is
16.47 +made subject to such option by the copyright holder.
16.48 +-->
16.49 +<!DOCTYPE fontscolors PUBLIC "-//NetBeans//DTD Editor Fonts and Colors settings 1.1//EN" "http://www.netbeans.org/dtds/EditorFontsColors-1_1.dtd">
16.50 +
16.51 +<fontscolors>
16.52 +
16.53 +
16.54 +
16.55 +
16.56 +</fontscolors>
17.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
17.2 +++ b/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/gen/ANTLRv3.tokens Fri Jan 11 15:06:14 2013 +0100
17.3 @@ -0,0 +1,126 @@
17.4 +T__65=65
17.5 +T__66=66
17.6 +T__67=67
17.7 +T__68=68
17.8 +T__69=69
17.9 +T__70=70
17.10 +T__71=71
17.11 +T__72=72
17.12 +T__73=73
17.13 +T__74=74
17.14 +T__75=75
17.15 +T__76=76
17.16 +T__77=77
17.17 +T__78=78
17.18 +T__79=79
17.19 +T__80=80
17.20 +T__81=81
17.21 +T__82=82
17.22 +T__83=83
17.23 +T__84=84
17.24 +T__85=85
17.25 +T__86=86
17.26 +T__87=87
17.27 +T__88=88
17.28 +T__89=89
17.29 +T__90=90
17.30 +T__91=91
17.31 +T__92=92
17.32 +T__93=93
17.33 +DOC_COMMENT=4
17.34 +PARSER=5
17.35 +LEXER=6
17.36 +RULE=7
17.37 +BLOCK=8
17.38 +OPTIONAL=9
17.39 +CLOSURE=10
17.40 +POSITIVE_CLOSURE=11
17.41 +SYNPRED=12
17.42 +RANGE=13
17.43 +CHAR_RANGE=14
17.44 +EPSILON=15
17.45 +ALT=16
17.46 +EOR=17
17.47 +EOB=18
17.48 +EOA=19
17.49 +ID=20
17.50 +ARG=21
17.51 +ARGLIST=22
17.52 +RET=23
17.53 +LEXER_GRAMMAR=24
17.54 +PARSER_GRAMMAR=25
17.55 +TREE_GRAMMAR=26
17.56 +COMBINED_GRAMMAR=27
17.57 +INITACTION=28
17.58 +LABEL=29
17.59 +TEMPLATE=30
17.60 +SCOPE=31
17.61 +SEMPRED=32
17.62 +GATED_SEMPRED=33
17.63 +SYN_SEMPRED=34
17.64 +BACKTRACK_SEMPRED=35
17.65 +FRAGMENT=36
17.66 +TREE_BEGIN=37
17.67 +ROOT=38
17.68 +BANG=39
17.69 +REWRITE=40
17.70 +TOKENS=41
17.71 +TOKEN_REF=42
17.72 +STRING_LITERAL=43
17.73 +CHAR_LITERAL=44
17.74 +ACTION=45
17.75 +OPTIONS=46
17.76 +INT=47
17.77 +ARG_ACTION=48
17.78 +RULE_REF=49
17.79 +DOUBLE_QUOTE_STRING_LITERAL=50
17.80 +DOUBLE_ANGLE_STRING_LITERAL=51
17.81 +SRC=52
17.82 +SL_COMMENT=53
17.83 +ML_COMMENT=54
17.84 +LITERAL_CHAR=55
17.85 +ESC=56
17.86 +XDIGIT=57
17.87 +NESTED_ARG_ACTION=58
17.88 +ACTION_STRING_LITERAL=59
17.89 +ACTION_CHAR_LITERAL=60
17.90 +NESTED_ACTION=61
17.91 +ACTION_ESC=62
17.92 +WS_LOOP=63
17.93 +WS=64
17.94 +'scope'=31
17.95 +'fragment'=36
17.96 +'^('=37
17.97 +'^'=38
17.98 +'!'=39
17.99 +'..'=13
17.100 +'->'=40
17.101 +'lexer'=65
17.102 +'parser'=66
17.103 +'tree'=67
17.104 +'grammar'=68
17.105 +';'=69
17.106 +'}'=70
17.107 +'='=71
17.108 +'@'=72
17.109 +'::'=73
17.110 +'*'=74
17.111 +'protected'=75
17.112 +'public'=76
17.113 +'private'=77
17.114 +'returns'=78
17.115 +':'=79
17.116 +'throws'=80
17.117 +','=81
17.118 +'('=82
17.119 +'|'=83
17.120 +')'=84
17.121 +'catch'=85
17.122 +'finally'=86
17.123 +'+='=87
17.124 +'=>'=88
17.125 +'~'=89
17.126 +'?'=90
17.127 +'+'=91
17.128 +'.'=92
17.129 +'$'=93
18.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
18.2 +++ b/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/gen/ANTLRv3Lexer.java Fri Jan 11 15:06:14 2013 +0100
18.3 @@ -0,0 +1,3646 @@
18.4 +// $ANTLR 3.3 Nov 30, 2010 12:50:56 /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g 2013-01-11 15:01:27
18.5 +
18.6 +package org.netbeans.antlr.editor.gen;
18.7 +
18.8 +
18.9 +import org.antlr.runtime.*;
18.10 +import java.util.Stack;
18.11 +import java.util.List;
18.12 +import java.util.ArrayList;
18.13 +
18.14 +public class ANTLRv3Lexer extends Lexer {
18.15 + public static final int EOF=-1;
18.16 + public static final int T__65=65;
18.17 + public static final int T__66=66;
18.18 + public static final int T__67=67;
18.19 + public static final int T__68=68;
18.20 + public static final int T__69=69;
18.21 + public static final int T__70=70;
18.22 + public static final int T__71=71;
18.23 + public static final int T__72=72;
18.24 + public static final int T__73=73;
18.25 + public static final int T__74=74;
18.26 + public static final int T__75=75;
18.27 + public static final int T__76=76;
18.28 + public static final int T__77=77;
18.29 + public static final int T__78=78;
18.30 + public static final int T__79=79;
18.31 + public static final int T__80=80;
18.32 + public static final int T__81=81;
18.33 + public static final int T__82=82;
18.34 + public static final int T__83=83;
18.35 + public static final int T__84=84;
18.36 + public static final int T__85=85;
18.37 + public static final int T__86=86;
18.38 + public static final int T__87=87;
18.39 + public static final int T__88=88;
18.40 + public static final int T__89=89;
18.41 + public static final int T__90=90;
18.42 + public static final int T__91=91;
18.43 + public static final int T__92=92;
18.44 + public static final int T__93=93;
18.45 + public static final int DOC_COMMENT=4;
18.46 + public static final int PARSER=5;
18.47 + public static final int LEXER=6;
18.48 + public static final int RULE=7;
18.49 + public static final int BLOCK=8;
18.50 + public static final int OPTIONAL=9;
18.51 + public static final int CLOSURE=10;
18.52 + public static final int POSITIVE_CLOSURE=11;
18.53 + public static final int SYNPRED=12;
18.54 + public static final int RANGE=13;
18.55 + public static final int CHAR_RANGE=14;
18.56 + public static final int EPSILON=15;
18.57 + public static final int ALT=16;
18.58 + public static final int EOR=17;
18.59 + public static final int EOB=18;
18.60 + public static final int EOA=19;
18.61 + public static final int ID=20;
18.62 + public static final int ARG=21;
18.63 + public static final int ARGLIST=22;
18.64 + public static final int RET=23;
18.65 + public static final int LEXER_GRAMMAR=24;
18.66 + public static final int PARSER_GRAMMAR=25;
18.67 + public static final int TREE_GRAMMAR=26;
18.68 + public static final int COMBINED_GRAMMAR=27;
18.69 + public static final int INITACTION=28;
18.70 + public static final int LABEL=29;
18.71 + public static final int TEMPLATE=30;
18.72 + public static final int SCOPE=31;
18.73 + public static final int SEMPRED=32;
18.74 + public static final int GATED_SEMPRED=33;
18.75 + public static final int SYN_SEMPRED=34;
18.76 + public static final int BACKTRACK_SEMPRED=35;
18.77 + public static final int FRAGMENT=36;
18.78 + public static final int TREE_BEGIN=37;
18.79 + public static final int ROOT=38;
18.80 + public static final int BANG=39;
18.81 + public static final int REWRITE=40;
18.82 + public static final int TOKENS=41;
18.83 + public static final int TOKEN_REF=42;
18.84 + public static final int STRING_LITERAL=43;
18.85 + public static final int CHAR_LITERAL=44;
18.86 + public static final int ACTION=45;
18.87 + public static final int OPTIONS=46;
18.88 + public static final int INT=47;
18.89 + public static final int ARG_ACTION=48;
18.90 + public static final int RULE_REF=49;
18.91 + public static final int DOUBLE_QUOTE_STRING_LITERAL=50;
18.92 + public static final int DOUBLE_ANGLE_STRING_LITERAL=51;
18.93 + public static final int SRC=52;
18.94 + public static final int SL_COMMENT=53;
18.95 + public static final int ML_COMMENT=54;
18.96 + public static final int LITERAL_CHAR=55;
18.97 + public static final int ESC=56;
18.98 + public static final int XDIGIT=57;
18.99 + public static final int NESTED_ARG_ACTION=58;
18.100 + public static final int ACTION_STRING_LITERAL=59;
18.101 + public static final int ACTION_CHAR_LITERAL=60;
18.102 + public static final int NESTED_ACTION=61;
18.103 + public static final int ACTION_ESC=62;
18.104 + public static final int WS_LOOP=63;
18.105 + public static final int WS=64;
18.106 +
18.107 + // delegates
18.108 + // delegators
18.109 +
18.110 + public ANTLRv3Lexer() {;}
18.111 + public ANTLRv3Lexer(CharStream input) {
18.112 + this(input, new RecognizerSharedState());
18.113 + }
18.114 + public ANTLRv3Lexer(CharStream input, RecognizerSharedState state) {
18.115 + super(input,state);
18.116 +
18.117 + }
18.118 + public String getGrammarFileName() { return "/Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g"; }
18.119 +
18.120 + // $ANTLR start "SCOPE"
18.121 + public final void mSCOPE() throws RecognitionException {
18.122 + try {
18.123 + int _type = SCOPE;
18.124 + int _channel = DEFAULT_TOKEN_CHANNEL;
18.125 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:7:7: ( 'scope' )
18.126 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:7:9: 'scope'
18.127 + {
18.128 + match("scope");
18.129 +
18.130 +
18.131 + }
18.132 +
18.133 + state.type = _type;
18.134 + state.channel = _channel;
18.135 + }
18.136 + finally {
18.137 + }
18.138 + }
18.139 + // $ANTLR end "SCOPE"
18.140 +
18.141 + // $ANTLR start "FRAGMENT"
18.142 + public final void mFRAGMENT() throws RecognitionException {
18.143 + try {
18.144 + int _type = FRAGMENT;
18.145 + int _channel = DEFAULT_TOKEN_CHANNEL;
18.146 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:8:10: ( 'fragment' )
18.147 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:8:12: 'fragment'
18.148 + {
18.149 + match("fragment");
18.150 +
18.151 +
18.152 + }
18.153 +
18.154 + state.type = _type;
18.155 + state.channel = _channel;
18.156 + }
18.157 + finally {
18.158 + }
18.159 + }
18.160 + // $ANTLR end "FRAGMENT"
18.161 +
18.162 + // $ANTLR start "TREE_BEGIN"
18.163 + public final void mTREE_BEGIN() throws RecognitionException {
18.164 + try {
18.165 + int _type = TREE_BEGIN;
18.166 + int _channel = DEFAULT_TOKEN_CHANNEL;
18.167 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:9:12: ( '^(' )
18.168 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:9:14: '^('
18.169 + {
18.170 + match("^(");
18.171 +
18.172 +
18.173 + }
18.174 +
18.175 + state.type = _type;
18.176 + state.channel = _channel;
18.177 + }
18.178 + finally {
18.179 + }
18.180 + }
18.181 + // $ANTLR end "TREE_BEGIN"
18.182 +
18.183 + // $ANTLR start "ROOT"
18.184 + public final void mROOT() throws RecognitionException {
18.185 + try {
18.186 + int _type = ROOT;
18.187 + int _channel = DEFAULT_TOKEN_CHANNEL;
18.188 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:10:6: ( '^' )
18.189 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:10:8: '^'
18.190 + {
18.191 + match('^');
18.192 +
18.193 + }
18.194 +
18.195 + state.type = _type;
18.196 + state.channel = _channel;
18.197 + }
18.198 + finally {
18.199 + }
18.200 + }
18.201 + // $ANTLR end "ROOT"
18.202 +
18.203 + // $ANTLR start "BANG"
18.204 + public final void mBANG() throws RecognitionException {
18.205 + try {
18.206 + int _type = BANG;
18.207 + int _channel = DEFAULT_TOKEN_CHANNEL;
18.208 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:11:6: ( '!' )
18.209 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:11:8: '!'
18.210 + {
18.211 + match('!');
18.212 +
18.213 + }
18.214 +
18.215 + state.type = _type;
18.216 + state.channel = _channel;
18.217 + }
18.218 + finally {
18.219 + }
18.220 + }
18.221 + // $ANTLR end "BANG"
18.222 +
18.223 + // $ANTLR start "RANGE"
18.224 + public final void mRANGE() throws RecognitionException {
18.225 + try {
18.226 + int _type = RANGE;
18.227 + int _channel = DEFAULT_TOKEN_CHANNEL;
18.228 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:12:7: ( '..' )
18.229 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:12:9: '..'
18.230 + {
18.231 + match("..");
18.232 +
18.233 +
18.234 + }
18.235 +
18.236 + state.type = _type;
18.237 + state.channel = _channel;
18.238 + }
18.239 + finally {
18.240 + }
18.241 + }
18.242 + // $ANTLR end "RANGE"
18.243 +
18.244 + // $ANTLR start "REWRITE"
18.245 + public final void mREWRITE() throws RecognitionException {
18.246 + try {
18.247 + int _type = REWRITE;
18.248 + int _channel = DEFAULT_TOKEN_CHANNEL;
18.249 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:13:9: ( '->' )
18.250 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:13:11: '->'
18.251 + {
18.252 + match("->");
18.253 +
18.254 +
18.255 + }
18.256 +
18.257 + state.type = _type;
18.258 + state.channel = _channel;
18.259 + }
18.260 + finally {
18.261 + }
18.262 + }
18.263 + // $ANTLR end "REWRITE"
18.264 +
18.265 + // $ANTLR start "T__65"
18.266 + public final void mT__65() throws RecognitionException {
18.267 + try {
18.268 + int _type = T__65;
18.269 + int _channel = DEFAULT_TOKEN_CHANNEL;
18.270 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:14:7: ( 'lexer' )
18.271 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:14:9: 'lexer'
18.272 + {
18.273 + match("lexer");
18.274 +
18.275 +
18.276 + }
18.277 +
18.278 + state.type = _type;
18.279 + state.channel = _channel;
18.280 + }
18.281 + finally {
18.282 + }
18.283 + }
18.284 + // $ANTLR end "T__65"
18.285 +
18.286 + // $ANTLR start "T__66"
18.287 + public final void mT__66() throws RecognitionException {
18.288 + try {
18.289 + int _type = T__66;
18.290 + int _channel = DEFAULT_TOKEN_CHANNEL;
18.291 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:15:7: ( 'parser' )
18.292 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:15:9: 'parser'
18.293 + {
18.294 + match("parser");
18.295 +
18.296 +
18.297 + }
18.298 +
18.299 + state.type = _type;
18.300 + state.channel = _channel;
18.301 + }
18.302 + finally {
18.303 + }
18.304 + }
18.305 + // $ANTLR end "T__66"
18.306 +
18.307 + // $ANTLR start "T__67"
18.308 + public final void mT__67() throws RecognitionException {
18.309 + try {
18.310 + int _type = T__67;
18.311 + int _channel = DEFAULT_TOKEN_CHANNEL;
18.312 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:16:7: ( 'tree' )
18.313 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:16:9: 'tree'
18.314 + {
18.315 + match("tree");
18.316 +
18.317 +
18.318 + }
18.319 +
18.320 + state.type = _type;
18.321 + state.channel = _channel;
18.322 + }
18.323 + finally {
18.324 + }
18.325 + }
18.326 + // $ANTLR end "T__67"
18.327 +
18.328 + // $ANTLR start "T__68"
18.329 + public final void mT__68() throws RecognitionException {
18.330 + try {
18.331 + int _type = T__68;
18.332 + int _channel = DEFAULT_TOKEN_CHANNEL;
18.333 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:17:7: ( 'grammar' )
18.334 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:17:9: 'grammar'
18.335 + {
18.336 + match("grammar");
18.337 +
18.338 +
18.339 + }
18.340 +
18.341 + state.type = _type;
18.342 + state.channel = _channel;
18.343 + }
18.344 + finally {
18.345 + }
18.346 + }
18.347 + // $ANTLR end "T__68"
18.348 +
18.349 + // $ANTLR start "T__69"
18.350 + public final void mT__69() throws RecognitionException {
18.351 + try {
18.352 + int _type = T__69;
18.353 + int _channel = DEFAULT_TOKEN_CHANNEL;
18.354 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:18:7: ( ';' )
18.355 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:18:9: ';'
18.356 + {
18.357 + match(';');
18.358 +
18.359 + }
18.360 +
18.361 + state.type = _type;
18.362 + state.channel = _channel;
18.363 + }
18.364 + finally {
18.365 + }
18.366 + }
18.367 + // $ANTLR end "T__69"
18.368 +
18.369 + // $ANTLR start "T__70"
18.370 + public final void mT__70() throws RecognitionException {
18.371 + try {
18.372 + int _type = T__70;
18.373 + int _channel = DEFAULT_TOKEN_CHANNEL;
18.374 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:19:7: ( '}' )
18.375 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:19:9: '}'
18.376 + {
18.377 + match('}');
18.378 +
18.379 + }
18.380 +
18.381 + state.type = _type;
18.382 + state.channel = _channel;
18.383 + }
18.384 + finally {
18.385 + }
18.386 + }
18.387 + // $ANTLR end "T__70"
18.388 +
18.389 + // $ANTLR start "T__71"
18.390 + public final void mT__71() throws RecognitionException {
18.391 + try {
18.392 + int _type = T__71;
18.393 + int _channel = DEFAULT_TOKEN_CHANNEL;
18.394 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:20:7: ( '=' )
18.395 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:20:9: '='
18.396 + {
18.397 + match('=');
18.398 +
18.399 + }
18.400 +
18.401 + state.type = _type;
18.402 + state.channel = _channel;
18.403 + }
18.404 + finally {
18.405 + }
18.406 + }
18.407 + // $ANTLR end "T__71"
18.408 +
18.409 + // $ANTLR start "T__72"
18.410 + public final void mT__72() throws RecognitionException {
18.411 + try {
18.412 + int _type = T__72;
18.413 + int _channel = DEFAULT_TOKEN_CHANNEL;
18.414 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:21:7: ( '@' )
18.415 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:21:9: '@'
18.416 + {
18.417 + match('@');
18.418 +
18.419 + }
18.420 +
18.421 + state.type = _type;
18.422 + state.channel = _channel;
18.423 + }
18.424 + finally {
18.425 + }
18.426 + }
18.427 + // $ANTLR end "T__72"
18.428 +
18.429 + // $ANTLR start "T__73"
18.430 + public final void mT__73() throws RecognitionException {
18.431 + try {
18.432 + int _type = T__73;
18.433 + int _channel = DEFAULT_TOKEN_CHANNEL;
18.434 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:22:7: ( '::' )
18.435 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:22:9: '::'
18.436 + {
18.437 + match("::");
18.438 +
18.439 +
18.440 + }
18.441 +
18.442 + state.type = _type;
18.443 + state.channel = _channel;
18.444 + }
18.445 + finally {
18.446 + }
18.447 + }
18.448 + // $ANTLR end "T__73"
18.449 +
18.450 + // $ANTLR start "T__74"
18.451 + public final void mT__74() throws RecognitionException {
18.452 + try {
18.453 + int _type = T__74;
18.454 + int _channel = DEFAULT_TOKEN_CHANNEL;
18.455 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:23:7: ( '*' )
18.456 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:23:9: '*'
18.457 + {
18.458 + match('*');
18.459 +
18.460 + }
18.461 +
18.462 + state.type = _type;
18.463 + state.channel = _channel;
18.464 + }
18.465 + finally {
18.466 + }
18.467 + }
18.468 + // $ANTLR end "T__74"
18.469 +
18.470 + // $ANTLR start "T__75"
18.471 + public final void mT__75() throws RecognitionException {
18.472 + try {
18.473 + int _type = T__75;
18.474 + int _channel = DEFAULT_TOKEN_CHANNEL;
18.475 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:24:7: ( 'protected' )
18.476 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:24:9: 'protected'
18.477 + {
18.478 + match("protected");
18.479 +
18.480 +
18.481 + }
18.482 +
18.483 + state.type = _type;
18.484 + state.channel = _channel;
18.485 + }
18.486 + finally {
18.487 + }
18.488 + }
18.489 + // $ANTLR end "T__75"
18.490 +
18.491 + // $ANTLR start "T__76"
18.492 + public final void mT__76() throws RecognitionException {
18.493 + try {
18.494 + int _type = T__76;
18.495 + int _channel = DEFAULT_TOKEN_CHANNEL;
18.496 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:25:7: ( 'public' )
18.497 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:25:9: 'public'
18.498 + {
18.499 + match("public");
18.500 +
18.501 +
18.502 + }
18.503 +
18.504 + state.type = _type;
18.505 + state.channel = _channel;
18.506 + }
18.507 + finally {
18.508 + }
18.509 + }
18.510 + // $ANTLR end "T__76"
18.511 +
18.512 + // $ANTLR start "T__77"
18.513 + public final void mT__77() throws RecognitionException {
18.514 + try {
18.515 + int _type = T__77;
18.516 + int _channel = DEFAULT_TOKEN_CHANNEL;
18.517 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:26:7: ( 'private' )
18.518 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:26:9: 'private'
18.519 + {
18.520 + match("private");
18.521 +
18.522 +
18.523 + }
18.524 +
18.525 + state.type = _type;
18.526 + state.channel = _channel;
18.527 + }
18.528 + finally {
18.529 + }
18.530 + }
18.531 + // $ANTLR end "T__77"
18.532 +
18.533 + // $ANTLR start "T__78"
18.534 + public final void mT__78() throws RecognitionException {
18.535 + try {
18.536 + int _type = T__78;
18.537 + int _channel = DEFAULT_TOKEN_CHANNEL;
18.538 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:27:7: ( 'returns' )
18.539 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:27:9: 'returns'
18.540 + {
18.541 + match("returns");
18.542 +
18.543 +
18.544 + }
18.545 +
18.546 + state.type = _type;
18.547 + state.channel = _channel;
18.548 + }
18.549 + finally {
18.550 + }
18.551 + }
18.552 + // $ANTLR end "T__78"
18.553 +
18.554 + // $ANTLR start "T__79"
18.555 + public final void mT__79() throws RecognitionException {
18.556 + try {
18.557 + int _type = T__79;
18.558 + int _channel = DEFAULT_TOKEN_CHANNEL;
18.559 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:28:7: ( ':' )
18.560 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:28:9: ':'
18.561 + {
18.562 + match(':');
18.563 +
18.564 + }
18.565 +
18.566 + state.type = _type;
18.567 + state.channel = _channel;
18.568 + }
18.569 + finally {
18.570 + }
18.571 + }
18.572 + // $ANTLR end "T__79"
18.573 +
18.574 + // $ANTLR start "T__80"
18.575 + public final void mT__80() throws RecognitionException {
18.576 + try {
18.577 + int _type = T__80;
18.578 + int _channel = DEFAULT_TOKEN_CHANNEL;
18.579 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:29:7: ( 'throws' )
18.580 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:29:9: 'throws'
18.581 + {
18.582 + match("throws");
18.583 +
18.584 +
18.585 + }
18.586 +
18.587 + state.type = _type;
18.588 + state.channel = _channel;
18.589 + }
18.590 + finally {
18.591 + }
18.592 + }
18.593 + // $ANTLR end "T__80"
18.594 +
18.595 + // $ANTLR start "T__81"
18.596 + public final void mT__81() throws RecognitionException {
18.597 + try {
18.598 + int _type = T__81;
18.599 + int _channel = DEFAULT_TOKEN_CHANNEL;
18.600 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:30:7: ( ',' )
18.601 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:30:9: ','
18.602 + {
18.603 + match(',');
18.604 +
18.605 + }
18.606 +
18.607 + state.type = _type;
18.608 + state.channel = _channel;
18.609 + }
18.610 + finally {
18.611 + }
18.612 + }
18.613 + // $ANTLR end "T__81"
18.614 +
18.615 + // $ANTLR start "T__82"
18.616 + public final void mT__82() throws RecognitionException {
18.617 + try {
18.618 + int _type = T__82;
18.619 + int _channel = DEFAULT_TOKEN_CHANNEL;
18.620 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:31:7: ( '(' )
18.621 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:31:9: '('
18.622 + {
18.623 + match('(');
18.624 +
18.625 + }
18.626 +
18.627 + state.type = _type;
18.628 + state.channel = _channel;
18.629 + }
18.630 + finally {
18.631 + }
18.632 + }
18.633 + // $ANTLR end "T__82"
18.634 +
18.635 + // $ANTLR start "T__83"
18.636 + public final void mT__83() throws RecognitionException {
18.637 + try {
18.638 + int _type = T__83;
18.639 + int _channel = DEFAULT_TOKEN_CHANNEL;
18.640 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:32:7: ( '|' )
18.641 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:32:9: '|'
18.642 + {
18.643 + match('|');
18.644 +
18.645 + }
18.646 +
18.647 + state.type = _type;
18.648 + state.channel = _channel;
18.649 + }
18.650 + finally {
18.651 + }
18.652 + }
18.653 + // $ANTLR end "T__83"
18.654 +
18.655 + // $ANTLR start "T__84"
18.656 + public final void mT__84() throws RecognitionException {
18.657 + try {
18.658 + int _type = T__84;
18.659 + int _channel = DEFAULT_TOKEN_CHANNEL;
18.660 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:33:7: ( ')' )
18.661 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:33:9: ')'
18.662 + {
18.663 + match(')');
18.664 +
18.665 + }
18.666 +
18.667 + state.type = _type;
18.668 + state.channel = _channel;
18.669 + }
18.670 + finally {
18.671 + }
18.672 + }
18.673 + // $ANTLR end "T__84"
18.674 +
18.675 + // $ANTLR start "T__85"
18.676 + public final void mT__85() throws RecognitionException {
18.677 + try {
18.678 + int _type = T__85;
18.679 + int _channel = DEFAULT_TOKEN_CHANNEL;
18.680 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:34:7: ( 'catch' )
18.681 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:34:9: 'catch'
18.682 + {
18.683 + match("catch");
18.684 +
18.685 +
18.686 + }
18.687 +
18.688 + state.type = _type;
18.689 + state.channel = _channel;
18.690 + }
18.691 + finally {
18.692 + }
18.693 + }
18.694 + // $ANTLR end "T__85"
18.695 +
18.696 + // $ANTLR start "T__86"
18.697 + public final void mT__86() throws RecognitionException {
18.698 + try {
18.699 + int _type = T__86;
18.700 + int _channel = DEFAULT_TOKEN_CHANNEL;
18.701 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:35:7: ( 'finally' )
18.702 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:35:9: 'finally'
18.703 + {
18.704 + match("finally");
18.705 +
18.706 +
18.707 + }
18.708 +
18.709 + state.type = _type;
18.710 + state.channel = _channel;
18.711 + }
18.712 + finally {
18.713 + }
18.714 + }
18.715 + // $ANTLR end "T__86"
18.716 +
18.717 + // $ANTLR start "T__87"
18.718 + public final void mT__87() throws RecognitionException {
18.719 + try {
18.720 + int _type = T__87;
18.721 + int _channel = DEFAULT_TOKEN_CHANNEL;
18.722 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:36:7: ( '+=' )
18.723 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:36:9: '+='
18.724 + {
18.725 + match("+=");
18.726 +
18.727 +
18.728 + }
18.729 +
18.730 + state.type = _type;
18.731 + state.channel = _channel;
18.732 + }
18.733 + finally {
18.734 + }
18.735 + }
18.736 + // $ANTLR end "T__87"
18.737 +
18.738 + // $ANTLR start "T__88"
18.739 + public final void mT__88() throws RecognitionException {
18.740 + try {
18.741 + int _type = T__88;
18.742 + int _channel = DEFAULT_TOKEN_CHANNEL;
18.743 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:37:7: ( '=>' )
18.744 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:37:9: '=>'
18.745 + {
18.746 + match("=>");
18.747 +
18.748 +
18.749 + }
18.750 +
18.751 + state.type = _type;
18.752 + state.channel = _channel;
18.753 + }
18.754 + finally {
18.755 + }
18.756 + }
18.757 + // $ANTLR end "T__88"
18.758 +
18.759 + // $ANTLR start "T__89"
18.760 + public final void mT__89() throws RecognitionException {
18.761 + try {
18.762 + int _type = T__89;
18.763 + int _channel = DEFAULT_TOKEN_CHANNEL;
18.764 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:38:7: ( '~' )
18.765 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:38:9: '~'
18.766 + {
18.767 + match('~');
18.768 +
18.769 + }
18.770 +
18.771 + state.type = _type;
18.772 + state.channel = _channel;
18.773 + }
18.774 + finally {
18.775 + }
18.776 + }
18.777 + // $ANTLR end "T__89"
18.778 +
18.779 + // $ANTLR start "T__90"
18.780 + public final void mT__90() throws RecognitionException {
18.781 + try {
18.782 + int _type = T__90;
18.783 + int _channel = DEFAULT_TOKEN_CHANNEL;
18.784 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:39:7: ( '?' )
18.785 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:39:9: '?'
18.786 + {
18.787 + match('?');
18.788 +
18.789 + }
18.790 +
18.791 + state.type = _type;
18.792 + state.channel = _channel;
18.793 + }
18.794 + finally {
18.795 + }
18.796 + }
18.797 + // $ANTLR end "T__90"
18.798 +
18.799 + // $ANTLR start "T__91"
18.800 + public final void mT__91() throws RecognitionException {
18.801 + try {
18.802 + int _type = T__91;
18.803 + int _channel = DEFAULT_TOKEN_CHANNEL;
18.804 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:40:7: ( '+' )
18.805 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:40:9: '+'
18.806 + {
18.807 + match('+');
18.808 +
18.809 + }
18.810 +
18.811 + state.type = _type;
18.812 + state.channel = _channel;
18.813 + }
18.814 + finally {
18.815 + }
18.816 + }
18.817 + // $ANTLR end "T__91"
18.818 +
18.819 + // $ANTLR start "T__92"
18.820 + public final void mT__92() throws RecognitionException {
18.821 + try {
18.822 + int _type = T__92;
18.823 + int _channel = DEFAULT_TOKEN_CHANNEL;
18.824 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:41:7: ( '.' )
18.825 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:41:9: '.'
18.826 + {
18.827 + match('.');
18.828 +
18.829 + }
18.830 +
18.831 + state.type = _type;
18.832 + state.channel = _channel;
18.833 + }
18.834 + finally {
18.835 + }
18.836 + }
18.837 + // $ANTLR end "T__92"
18.838 +
18.839 + // $ANTLR start "T__93"
18.840 + public final void mT__93() throws RecognitionException {
18.841 + try {
18.842 + int _type = T__93;
18.843 + int _channel = DEFAULT_TOKEN_CHANNEL;
18.844 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:42:7: ( '$' )
18.845 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:42:9: '$'
18.846 + {
18.847 + match('$');
18.848 +
18.849 + }
18.850 +
18.851 + state.type = _type;
18.852 + state.channel = _channel;
18.853 + }
18.854 + finally {
18.855 + }
18.856 + }
18.857 + // $ANTLR end "T__93"
18.858 +
18.859 + // $ANTLR start "SL_COMMENT"
18.860 + public final void mSL_COMMENT() throws RecognitionException {
18.861 + try {
18.862 + int _type = SL_COMMENT;
18.863 + int _channel = DEFAULT_TOKEN_CHANNEL;
18.864 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:457:3: ( '//' ( ' $ANTLR ' SRC | (~ ( '\\r' | '\\n' ) )* ) ( '\\r' )? '\\n' )
18.865 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:457:5: '//' ( ' $ANTLR ' SRC | (~ ( '\\r' | '\\n' ) )* ) ( '\\r' )? '\\n'
18.866 + {
18.867 + match("//");
18.868 +
18.869 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:458:5: ( ' $ANTLR ' SRC | (~ ( '\\r' | '\\n' ) )* )
18.870 + int alt2=2;
18.871 + alt2 = dfa2.predict(input);
18.872 + switch (alt2) {
18.873 + case 1 :
18.874 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:458:7: ' $ANTLR ' SRC
18.875 + {
18.876 + match(" $ANTLR ");
18.877 +
18.878 + mSRC();
18.879 +
18.880 + }
18.881 + break;
18.882 + case 2 :
18.883 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:459:6: (~ ( '\\r' | '\\n' ) )*
18.884 + {
18.885 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:459:6: (~ ( '\\r' | '\\n' ) )*
18.886 + loop1:
18.887 + do {
18.888 + int alt1=2;
18.889 + int LA1_0 = input.LA(1);
18.890 +
18.891 + if ( ((LA1_0>='\u0000' && LA1_0<='\t')||(LA1_0>='\u000B' && LA1_0<='\f')||(LA1_0>='\u000E' && LA1_0<='\uFFFF')) ) {
18.892 + alt1=1;
18.893 + }
18.894 +
18.895 +
18.896 + switch (alt1) {
18.897 + case 1 :
18.898 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:459:6: ~ ( '\\r' | '\\n' )
18.899 + {
18.900 + if ( (input.LA(1)>='\u0000' && input.LA(1)<='\t')||(input.LA(1)>='\u000B' && input.LA(1)<='\f')||(input.LA(1)>='\u000E' && input.LA(1)<='\uFFFF') ) {
18.901 + input.consume();
18.902 +
18.903 + }
18.904 + else {
18.905 + MismatchedSetException mse = new MismatchedSetException(null,input);
18.906 + recover(mse);
18.907 + throw mse;}
18.908 +
18.909 +
18.910 + }
18.911 + break;
18.912 +
18.913 + default :
18.914 + break loop1;
18.915 + }
18.916 + } while (true);
18.917 +
18.918 +
18.919 + }
18.920 + break;
18.921 +
18.922 + }
18.923 +
18.924 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:461:3: ( '\\r' )?
18.925 + int alt3=2;
18.926 + int LA3_0 = input.LA(1);
18.927 +
18.928 + if ( (LA3_0=='\r') ) {
18.929 + alt3=1;
18.930 + }
18.931 + switch (alt3) {
18.932 + case 1 :
18.933 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:461:3: '\\r'
18.934 + {
18.935 + match('\r');
18.936 +
18.937 + }
18.938 + break;
18.939 +
18.940 + }
18.941 +
18.942 + match('\n');
18.943 + _channel=HIDDEN;
18.944 +
18.945 + }
18.946 +
18.947 + state.type = _type;
18.948 + state.channel = _channel;
18.949 + }
18.950 + finally {
18.951 + }
18.952 + }
18.953 + // $ANTLR end "SL_COMMENT"
18.954 +
18.955 + // $ANTLR start "ML_COMMENT"
18.956 + public final void mML_COMMENT() throws RecognitionException {
18.957 + try {
18.958 + int _type = ML_COMMENT;
18.959 + int _channel = DEFAULT_TOKEN_CHANNEL;
18.960 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:466:2: ( '/*' ( . )* '*/' )
18.961 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:466:4: '/*' ( . )* '*/'
18.962 + {
18.963 + match("/*");
18.964 +
18.965 + if (input.LA(1)=='*') _type=DOC_COMMENT; else _channel=HIDDEN;
18.966 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:466:74: ( . )*
18.967 + loop4:
18.968 + do {
18.969 + int alt4=2;
18.970 + int LA4_0 = input.LA(1);
18.971 +
18.972 + if ( (LA4_0=='*') ) {
18.973 + int LA4_1 = input.LA(2);
18.974 +
18.975 + if ( (LA4_1=='/') ) {
18.976 + alt4=2;
18.977 + }
18.978 + else if ( ((LA4_1>='\u0000' && LA4_1<='.')||(LA4_1>='0' && LA4_1<='\uFFFF')) ) {
18.979 + alt4=1;
18.980 + }
18.981 +
18.982 +
18.983 + }
18.984 + else if ( ((LA4_0>='\u0000' && LA4_0<=')')||(LA4_0>='+' && LA4_0<='\uFFFF')) ) {
18.985 + alt4=1;
18.986 + }
18.987 +
18.988 +
18.989 + switch (alt4) {
18.990 + case 1 :
18.991 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:466:74: .
18.992 + {
18.993 + matchAny();
18.994 +
18.995 + }
18.996 + break;
18.997 +
18.998 + default :
18.999 + break loop4;
18.1000 + }
18.1001 + } while (true);
18.1002 +
18.1003 + match("*/");
18.1004 +
18.1005 +
18.1006 + }
18.1007 +
18.1008 + state.type = _type;
18.1009 + state.channel = _channel;
18.1010 + }
18.1011 + finally {
18.1012 + }
18.1013 + }
18.1014 + // $ANTLR end "ML_COMMENT"
18.1015 +
18.1016 + // $ANTLR start "CHAR_LITERAL"
18.1017 + public final void mCHAR_LITERAL() throws RecognitionException {
18.1018 + try {
18.1019 + int _type = CHAR_LITERAL;
18.1020 + int _channel = DEFAULT_TOKEN_CHANNEL;
18.1021 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:470:2: ( '\\'' LITERAL_CHAR '\\'' )
18.1022 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:470:4: '\\'' LITERAL_CHAR '\\''
18.1023 + {
18.1024 + match('\'');
18.1025 + mLITERAL_CHAR();
18.1026 + match('\'');
18.1027 +
18.1028 + }
18.1029 +
18.1030 + state.type = _type;
18.1031 + state.channel = _channel;
18.1032 + }
18.1033 + finally {
18.1034 + }
18.1035 + }
18.1036 + // $ANTLR end "CHAR_LITERAL"
18.1037 +
18.1038 + // $ANTLR start "STRING_LITERAL"
18.1039 + public final void mSTRING_LITERAL() throws RecognitionException {
18.1040 + try {
18.1041 + int _type = STRING_LITERAL;
18.1042 + int _channel = DEFAULT_TOKEN_CHANNEL;
18.1043 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:474:2: ( '\\'' LITERAL_CHAR ( LITERAL_CHAR )* '\\'' )
18.1044 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:474:4: '\\'' LITERAL_CHAR ( LITERAL_CHAR )* '\\''
18.1045 + {
18.1046 + match('\'');
18.1047 + mLITERAL_CHAR();
18.1048 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:474:22: ( LITERAL_CHAR )*
18.1049 + loop5:
18.1050 + do {
18.1051 + int alt5=2;
18.1052 + int LA5_0 = input.LA(1);
18.1053 +
18.1054 + if ( ((LA5_0>='\u0000' && LA5_0<='&')||(LA5_0>='(' && LA5_0<='\uFFFF')) ) {
18.1055 + alt5=1;
18.1056 + }
18.1057 +
18.1058 +
18.1059 + switch (alt5) {
18.1060 + case 1 :
18.1061 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:474:22: LITERAL_CHAR
18.1062 + {
18.1063 + mLITERAL_CHAR();
18.1064 +
18.1065 + }
18.1066 + break;
18.1067 +
18.1068 + default :
18.1069 + break loop5;
18.1070 + }
18.1071 + } while (true);
18.1072 +
18.1073 + match('\'');
18.1074 +
18.1075 + }
18.1076 +
18.1077 + state.type = _type;
18.1078 + state.channel = _channel;
18.1079 + }
18.1080 + finally {
18.1081 + }
18.1082 + }
18.1083 + // $ANTLR end "STRING_LITERAL"
18.1084 +
18.1085 + // $ANTLR start "LITERAL_CHAR"
18.1086 + public final void mLITERAL_CHAR() throws RecognitionException {
18.1087 + try {
18.1088 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:479:2: ( ESC | ~ ( '\\'' | '\\\\' ) )
18.1089 + int alt6=2;
18.1090 + int LA6_0 = input.LA(1);
18.1091 +
18.1092 + if ( (LA6_0=='\\') ) {
18.1093 + alt6=1;
18.1094 + }
18.1095 + else if ( ((LA6_0>='\u0000' && LA6_0<='&')||(LA6_0>='(' && LA6_0<='[')||(LA6_0>=']' && LA6_0<='\uFFFF')) ) {
18.1096 + alt6=2;
18.1097 + }
18.1098 + else {
18.1099 + NoViableAltException nvae =
18.1100 + new NoViableAltException("", 6, 0, input);
18.1101 +
18.1102 + throw nvae;
18.1103 + }
18.1104 + switch (alt6) {
18.1105 + case 1 :
18.1106 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:479:4: ESC
18.1107 + {
18.1108 + mESC();
18.1109 +
18.1110 + }
18.1111 + break;
18.1112 + case 2 :
18.1113 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:480:4: ~ ( '\\'' | '\\\\' )
18.1114 + {
18.1115 + if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
18.1116 + input.consume();
18.1117 +
18.1118 + }
18.1119 + else {
18.1120 + MismatchedSetException mse = new MismatchedSetException(null,input);
18.1121 + recover(mse);
18.1122 + throw mse;}
18.1123 +
18.1124 +
18.1125 + }
18.1126 + break;
18.1127 +
18.1128 + }
18.1129 + }
18.1130 + finally {
18.1131 + }
18.1132 + }
18.1133 + // $ANTLR end "LITERAL_CHAR"
18.1134 +
18.1135 + // $ANTLR start "DOUBLE_QUOTE_STRING_LITERAL"
18.1136 + public final void mDOUBLE_QUOTE_STRING_LITERAL() throws RecognitionException {
18.1137 + try {
18.1138 + int _type = DOUBLE_QUOTE_STRING_LITERAL;
18.1139 + int _channel = DEFAULT_TOKEN_CHANNEL;
18.1140 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:484:2: ( '\"' ( ESC | ~ ( '\\\\' | '\"' ) )* '\"' )
18.1141 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:484:4: '\"' ( ESC | ~ ( '\\\\' | '\"' ) )* '\"'
18.1142 + {
18.1143 + match('\"');
18.1144 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:484:8: ( ESC | ~ ( '\\\\' | '\"' ) )*
18.1145 + loop7:
18.1146 + do {
18.1147 + int alt7=3;
18.1148 + int LA7_0 = input.LA(1);
18.1149 +
18.1150 + if ( (LA7_0=='\\') ) {
18.1151 + alt7=1;
18.1152 + }
18.1153 + else if ( ((LA7_0>='\u0000' && LA7_0<='!')||(LA7_0>='#' && LA7_0<='[')||(LA7_0>=']' && LA7_0<='\uFFFF')) ) {
18.1154 + alt7=2;
18.1155 + }
18.1156 +
18.1157 +
18.1158 + switch (alt7) {
18.1159 + case 1 :
18.1160 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:484:9: ESC
18.1161 + {
18.1162 + mESC();
18.1163 +
18.1164 + }
18.1165 + break;
18.1166 + case 2 :
18.1167 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:484:15: ~ ( '\\\\' | '\"' )
18.1168 + {
18.1169 + if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
18.1170 + input.consume();
18.1171 +
18.1172 + }
18.1173 + else {
18.1174 + MismatchedSetException mse = new MismatchedSetException(null,input);
18.1175 + recover(mse);
18.1176 + throw mse;}
18.1177 +
18.1178 +
18.1179 + }
18.1180 + break;
18.1181 +
18.1182 + default :
18.1183 + break loop7;
18.1184 + }
18.1185 + } while (true);
18.1186 +
18.1187 + match('\"');
18.1188 +
18.1189 + }
18.1190 +
18.1191 + state.type = _type;
18.1192 + state.channel = _channel;
18.1193 + }
18.1194 + finally {
18.1195 + }
18.1196 + }
18.1197 + // $ANTLR end "DOUBLE_QUOTE_STRING_LITERAL"
18.1198 +
18.1199 + // $ANTLR start "DOUBLE_ANGLE_STRING_LITERAL"
18.1200 + public final void mDOUBLE_ANGLE_STRING_LITERAL() throws RecognitionException {
18.1201 + try {
18.1202 + int _type = DOUBLE_ANGLE_STRING_LITERAL;
18.1203 + int _channel = DEFAULT_TOKEN_CHANNEL;
18.1204 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:488:2: ( '<<' ( . )* '>>' )
18.1205 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:488:4: '<<' ( . )* '>>'
18.1206 + {
18.1207 + match("<<");
18.1208 +
18.1209 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:488:9: ( . )*
18.1210 + loop8:
18.1211 + do {
18.1212 + int alt8=2;
18.1213 + int LA8_0 = input.LA(1);
18.1214 +
18.1215 + if ( (LA8_0=='>') ) {
18.1216 + int LA8_1 = input.LA(2);
18.1217 +
18.1218 + if ( (LA8_1=='>') ) {
18.1219 + alt8=2;
18.1220 + }
18.1221 + else if ( ((LA8_1>='\u0000' && LA8_1<='=')||(LA8_1>='?' && LA8_1<='\uFFFF')) ) {
18.1222 + alt8=1;
18.1223 + }
18.1224 +
18.1225 +
18.1226 + }
18.1227 + else if ( ((LA8_0>='\u0000' && LA8_0<='=')||(LA8_0>='?' && LA8_0<='\uFFFF')) ) {
18.1228 + alt8=1;
18.1229 + }
18.1230 +
18.1231 +
18.1232 + switch (alt8) {
18.1233 + case 1 :
18.1234 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:488:9: .
18.1235 + {
18.1236 + matchAny();
18.1237 +
18.1238 + }
18.1239 + break;
18.1240 +
18.1241 + default :
18.1242 + break loop8;
18.1243 + }
18.1244 + } while (true);
18.1245 +
18.1246 + match(">>");
18.1247 +
18.1248 +
18.1249 + }
18.1250 +
18.1251 + state.type = _type;
18.1252 + state.channel = _channel;
18.1253 + }
18.1254 + finally {
18.1255 + }
18.1256 + }
18.1257 + // $ANTLR end "DOUBLE_ANGLE_STRING_LITERAL"
18.1258 +
18.1259 + // $ANTLR start "ESC"
18.1260 + public final void mESC() throws RecognitionException {
18.1261 + try {
18.1262 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:492:5: ( '\\\\' ( 'n' | 'r' | 't' | 'b' | 'f' | '\"' | '\\'' | '\\\\' | '>' | 'u' XDIGIT XDIGIT XDIGIT XDIGIT | . ) )
18.1263 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:492:7: '\\\\' ( 'n' | 'r' | 't' | 'b' | 'f' | '\"' | '\\'' | '\\\\' | '>' | 'u' XDIGIT XDIGIT XDIGIT XDIGIT | . )
18.1264 + {
18.1265 + match('\\');
18.1266 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:493:3: ( 'n' | 'r' | 't' | 'b' | 'f' | '\"' | '\\'' | '\\\\' | '>' | 'u' XDIGIT XDIGIT XDIGIT XDIGIT | . )
18.1267 + int alt9=11;
18.1268 + alt9 = dfa9.predict(input);
18.1269 + switch (alt9) {
18.1270 + case 1 :
18.1271 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:493:5: 'n'
18.1272 + {
18.1273 + match('n');
18.1274 +
18.1275 + }
18.1276 + break;
18.1277 + case 2 :
18.1278 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:494:5: 'r'
18.1279 + {
18.1280 + match('r');
18.1281 +
18.1282 + }
18.1283 + break;
18.1284 + case 3 :
18.1285 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:495:5: 't'
18.1286 + {
18.1287 + match('t');
18.1288 +
18.1289 + }
18.1290 + break;
18.1291 + case 4 :
18.1292 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:496:5: 'b'
18.1293 + {
18.1294 + match('b');
18.1295 +
18.1296 + }
18.1297 + break;
18.1298 + case 5 :
18.1299 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:497:5: 'f'
18.1300 + {
18.1301 + match('f');
18.1302 +
18.1303 + }
18.1304 + break;
18.1305 + case 6 :
18.1306 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:498:5: '\"'
18.1307 + {
18.1308 + match('\"');
18.1309 +
18.1310 + }
18.1311 + break;
18.1312 + case 7 :
18.1313 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:499:5: '\\''
18.1314 + {
18.1315 + match('\'');
18.1316 +
18.1317 + }
18.1318 + break;
18.1319 + case 8 :
18.1320 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:500:5: '\\\\'
18.1321 + {
18.1322 + match('\\');
18.1323 +
18.1324 + }
18.1325 + break;
18.1326 + case 9 :
18.1327 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:501:5: '>'
18.1328 + {
18.1329 + match('>');
18.1330 +
18.1331 + }
18.1332 + break;
18.1333 + case 10 :
18.1334 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:502:5: 'u' XDIGIT XDIGIT XDIGIT XDIGIT
18.1335 + {
18.1336 + match('u');
18.1337 + mXDIGIT();
18.1338 + mXDIGIT();
18.1339 + mXDIGIT();
18.1340 + mXDIGIT();
18.1341 +
18.1342 + }
18.1343 + break;
18.1344 + case 11 :
18.1345 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:503:5: .
18.1346 + {
18.1347 + matchAny();
18.1348 +
18.1349 + }
18.1350 + break;
18.1351 +
18.1352 + }
18.1353 +
18.1354 +
18.1355 + }
18.1356 +
18.1357 + }
18.1358 + finally {
18.1359 + }
18.1360 + }
18.1361 + // $ANTLR end "ESC"
18.1362 +
18.1363 + // $ANTLR start "XDIGIT"
18.1364 + public final void mXDIGIT() throws RecognitionException {
18.1365 + try {
18.1366 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:508:8: ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )
18.1367 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:
18.1368 + {
18.1369 + if ( (input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='A' && input.LA(1)<='F')||(input.LA(1)>='a' && input.LA(1)<='f') ) {
18.1370 + input.consume();
18.1371 +
18.1372 + }
18.1373 + else {
18.1374 + MismatchedSetException mse = new MismatchedSetException(null,input);
18.1375 + recover(mse);
18.1376 + throw mse;}
18.1377 +
18.1378 +
18.1379 + }
18.1380 +
18.1381 + }
18.1382 + finally {
18.1383 + }
18.1384 + }
18.1385 + // $ANTLR end "XDIGIT"
18.1386 +
18.1387 + // $ANTLR start "INT"
18.1388 + public final void mINT() throws RecognitionException {
18.1389 + try {
18.1390 + int _type = INT;
18.1391 + int _channel = DEFAULT_TOKEN_CHANNEL;
18.1392 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:514:5: ( ( '0' .. '9' )+ )
18.1393 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:514:7: ( '0' .. '9' )+
18.1394 + {
18.1395 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:514:7: ( '0' .. '9' )+
18.1396 + int cnt10=0;
18.1397 + loop10:
18.1398 + do {
18.1399 + int alt10=2;
18.1400 + int LA10_0 = input.LA(1);
18.1401 +
18.1402 + if ( ((LA10_0>='0' && LA10_0<='9')) ) {
18.1403 + alt10=1;
18.1404 + }
18.1405 +
18.1406 +
18.1407 + switch (alt10) {
18.1408 + case 1 :
18.1409 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:514:7: '0' .. '9'
18.1410 + {
18.1411 + matchRange('0','9');
18.1412 +
18.1413 + }
18.1414 + break;
18.1415 +
18.1416 + default :
18.1417 + if ( cnt10 >= 1 ) break loop10;
18.1418 + EarlyExitException eee =
18.1419 + new EarlyExitException(10, input);
18.1420 + throw eee;
18.1421 + }
18.1422 + cnt10++;
18.1423 + } while (true);
18.1424 +
18.1425 +
18.1426 + }
18.1427 +
18.1428 + state.type = _type;
18.1429 + state.channel = _channel;
18.1430 + }
18.1431 + finally {
18.1432 + }
18.1433 + }
18.1434 + // $ANTLR end "INT"
18.1435 +
18.1436 + // $ANTLR start "ARG_ACTION"
18.1437 + public final void mARG_ACTION() throws RecognitionException {
18.1438 + try {
18.1439 + int _type = ARG_ACTION;
18.1440 + int _channel = DEFAULT_TOKEN_CHANNEL;
18.1441 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:518:2: ( NESTED_ARG_ACTION )
18.1442 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:518:4: NESTED_ARG_ACTION
18.1443 + {
18.1444 + mNESTED_ARG_ACTION();
18.1445 +
18.1446 + }
18.1447 +
18.1448 + state.type = _type;
18.1449 + state.channel = _channel;
18.1450 + }
18.1451 + finally {
18.1452 + }
18.1453 + }
18.1454 + // $ANTLR end "ARG_ACTION"
18.1455 +
18.1456 + // $ANTLR start "NESTED_ARG_ACTION"
18.1457 + public final void mNESTED_ARG_ACTION() throws RecognitionException {
18.1458 + try {
18.1459 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:522:19: ( '[' ( options {greedy=false; k=1; } : NESTED_ARG_ACTION | ACTION_STRING_LITERAL | ACTION_CHAR_LITERAL | . )* ']' )
18.1460 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:523:2: '[' ( options {greedy=false; k=1; } : NESTED_ARG_ACTION | ACTION_STRING_LITERAL | ACTION_CHAR_LITERAL | . )* ']'
18.1461 + {
18.1462 + match('[');
18.1463 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:524:2: ( options {greedy=false; k=1; } : NESTED_ARG_ACTION | ACTION_STRING_LITERAL | ACTION_CHAR_LITERAL | . )*
18.1464 + loop11:
18.1465 + do {
18.1466 + int alt11=5;
18.1467 + int LA11_0 = input.LA(1);
18.1468 +
18.1469 + if ( (LA11_0==']') ) {
18.1470 + alt11=5;
18.1471 + }
18.1472 + else if ( (LA11_0=='[') ) {
18.1473 + alt11=1;
18.1474 + }
18.1475 + else if ( (LA11_0=='\"') ) {
18.1476 + alt11=2;
18.1477 + }
18.1478 + else if ( (LA11_0=='\'') ) {
18.1479 + alt11=3;
18.1480 + }
18.1481 + else if ( ((LA11_0>='\u0000' && LA11_0<='!')||(LA11_0>='#' && LA11_0<='&')||(LA11_0>='(' && LA11_0<='Z')||LA11_0=='\\'||(LA11_0>='^' && LA11_0<='\uFFFF')) ) {
18.1482 + alt11=4;
18.1483 + }
18.1484 +
18.1485 +
18.1486 + switch (alt11) {
18.1487 + case 1 :
18.1488 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:525:4: NESTED_ARG_ACTION
18.1489 + {
18.1490 + mNESTED_ARG_ACTION();
18.1491 +
18.1492 + }
18.1493 + break;
18.1494 + case 2 :
18.1495 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:526:4: ACTION_STRING_LITERAL
18.1496 + {
18.1497 + mACTION_STRING_LITERAL();
18.1498 +
18.1499 + }
18.1500 + break;
18.1501 + case 3 :
18.1502 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:527:4: ACTION_CHAR_LITERAL
18.1503 + {
18.1504 + mACTION_CHAR_LITERAL();
18.1505 +
18.1506 + }
18.1507 + break;
18.1508 + case 4 :
18.1509 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:528:4: .
18.1510 + {
18.1511 + matchAny();
18.1512 +
18.1513 + }
18.1514 + break;
18.1515 +
18.1516 + default :
18.1517 + break loop11;
18.1518 + }
18.1519 + } while (true);
18.1520 +
18.1521 + match(']');
18.1522 + setText(getText().substring(1, getText().length()-1));
18.1523 +
18.1524 + }
18.1525 +
18.1526 + }
18.1527 + finally {
18.1528 + }
18.1529 + }
18.1530 + // $ANTLR end "NESTED_ARG_ACTION"
18.1531 +
18.1532 + // $ANTLR start "ACTION"
18.1533 + public final void mACTION() throws RecognitionException {
18.1534 + try {
18.1535 + int _type = ACTION;
18.1536 + int _channel = DEFAULT_TOKEN_CHANNEL;
18.1537 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:535:2: ( NESTED_ACTION ( '?' )? )
18.1538 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:535:4: NESTED_ACTION ( '?' )?
18.1539 + {
18.1540 + mNESTED_ACTION();
18.1541 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:535:18: ( '?' )?
18.1542 + int alt12=2;
18.1543 + int LA12_0 = input.LA(1);
18.1544 +
18.1545 + if ( (LA12_0=='?') ) {
18.1546 + alt12=1;
18.1547 + }
18.1548 + switch (alt12) {
18.1549 + case 1 :
18.1550 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:535:20: '?'
18.1551 + {
18.1552 + match('?');
18.1553 + _type = SEMPRED;
18.1554 +
18.1555 + }
18.1556 + break;
18.1557 +
18.1558 + }
18.1559 +
18.1560 +
18.1561 + }
18.1562 +
18.1563 + state.type = _type;
18.1564 + state.channel = _channel;
18.1565 + }
18.1566 + finally {
18.1567 + }
18.1568 + }
18.1569 + // $ANTLR end "ACTION"
18.1570 +
18.1571 + // $ANTLR start "NESTED_ACTION"
18.1572 + public final void mNESTED_ACTION() throws RecognitionException {
18.1573 + try {
18.1574 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:539:15: ( '{' ( options {greedy=false; k=2; } : NESTED_ACTION | SL_COMMENT | ML_COMMENT | ACTION_STRING_LITERAL | ACTION_CHAR_LITERAL | . )* '}' )
18.1575 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:540:2: '{' ( options {greedy=false; k=2; } : NESTED_ACTION | SL_COMMENT | ML_COMMENT | ACTION_STRING_LITERAL | ACTION_CHAR_LITERAL | . )* '}'
18.1576 + {
18.1577 + match('{');
18.1578 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:541:2: ( options {greedy=false; k=2; } : NESTED_ACTION | SL_COMMENT | ML_COMMENT | ACTION_STRING_LITERAL | ACTION_CHAR_LITERAL | . )*
18.1579 + loop13:
18.1580 + do {
18.1581 + int alt13=7;
18.1582 + alt13 = dfa13.predict(input);
18.1583 + switch (alt13) {
18.1584 + case 1 :
18.1585 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:542:4: NESTED_ACTION
18.1586 + {
18.1587 + mNESTED_ACTION();
18.1588 +
18.1589 + }
18.1590 + break;
18.1591 + case 2 :
18.1592 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:543:4: SL_COMMENT
18.1593 + {
18.1594 + mSL_COMMENT();
18.1595 +
18.1596 + }
18.1597 + break;
18.1598 + case 3 :
18.1599 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:544:4: ML_COMMENT
18.1600 + {
18.1601 + mML_COMMENT();
18.1602 +
18.1603 + }
18.1604 + break;
18.1605 + case 4 :
18.1606 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:545:4: ACTION_STRING_LITERAL
18.1607 + {
18.1608 + mACTION_STRING_LITERAL();
18.1609 +
18.1610 + }
18.1611 + break;
18.1612 + case 5 :
18.1613 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:546:4: ACTION_CHAR_LITERAL
18.1614 + {
18.1615 + mACTION_CHAR_LITERAL();
18.1616 +
18.1617 + }
18.1618 + break;
18.1619 + case 6 :
18.1620 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:547:4: .
18.1621 + {
18.1622 + matchAny();
18.1623 +
18.1624 + }
18.1625 + break;
18.1626 +
18.1627 + default :
18.1628 + break loop13;
18.1629 + }
18.1630 + } while (true);
18.1631 +
18.1632 + match('}');
18.1633 +
18.1634 + }
18.1635 +
18.1636 + }
18.1637 + finally {
18.1638 + }
18.1639 + }
18.1640 + // $ANTLR end "NESTED_ACTION"
18.1641 +
18.1642 + // $ANTLR start "ACTION_CHAR_LITERAL"
18.1643 + public final void mACTION_CHAR_LITERAL() throws RecognitionException {
18.1644 + try {
18.1645 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:554:2: ( '\\'' ( ACTION_ESC | ~ ( '\\\\' | '\\'' ) ) '\\'' )
18.1646 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:554:4: '\\'' ( ACTION_ESC | ~ ( '\\\\' | '\\'' ) ) '\\''
18.1647 + {
18.1648 + match('\'');
18.1649 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:554:9: ( ACTION_ESC | ~ ( '\\\\' | '\\'' ) )
18.1650 + int alt14=2;
18.1651 + int LA14_0 = input.LA(1);
18.1652 +
18.1653 + if ( (LA14_0=='\\') ) {
18.1654 + alt14=1;
18.1655 + }
18.1656 + else if ( ((LA14_0>='\u0000' && LA14_0<='&')||(LA14_0>='(' && LA14_0<='[')||(LA14_0>=']' && LA14_0<='\uFFFF')) ) {
18.1657 + alt14=2;
18.1658 + }
18.1659 + else {
18.1660 + NoViableAltException nvae =
18.1661 + new NoViableAltException("", 14, 0, input);
18.1662 +
18.1663 + throw nvae;
18.1664 + }
18.1665 + switch (alt14) {
18.1666 + case 1 :
18.1667 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:554:10: ACTION_ESC
18.1668 + {
18.1669 + mACTION_ESC();
18.1670 +
18.1671 + }
18.1672 + break;
18.1673 + case 2 :
18.1674 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:554:21: ~ ( '\\\\' | '\\'' )
18.1675 + {
18.1676 + if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
18.1677 + input.consume();
18.1678 +
18.1679 + }
18.1680 + else {
18.1681 + MismatchedSetException mse = new MismatchedSetException(null,input);
18.1682 + recover(mse);
18.1683 + throw mse;}
18.1684 +
18.1685 +
18.1686 + }
18.1687 + break;
18.1688 +
18.1689 + }
18.1690 +
18.1691 + match('\'');
18.1692 +
18.1693 + }
18.1694 +
18.1695 + }
18.1696 + finally {
18.1697 + }
18.1698 + }
18.1699 + // $ANTLR end "ACTION_CHAR_LITERAL"
18.1700 +
18.1701 + // $ANTLR start "ACTION_STRING_LITERAL"
18.1702 + public final void mACTION_STRING_LITERAL() throws RecognitionException {
18.1703 + try {
18.1704 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:559:2: ( '\"' ( ACTION_ESC | ~ ( '\\\\' | '\"' ) )* '\"' )
18.1705 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:559:4: '\"' ( ACTION_ESC | ~ ( '\\\\' | '\"' ) )* '\"'
18.1706 + {
18.1707 + match('\"');
18.1708 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:559:8: ( ACTION_ESC | ~ ( '\\\\' | '\"' ) )*
18.1709 + loop15:
18.1710 + do {
18.1711 + int alt15=3;
18.1712 + int LA15_0 = input.LA(1);
18.1713 +
18.1714 + if ( (LA15_0=='\\') ) {
18.1715 + alt15=1;
18.1716 + }
18.1717 + else if ( ((LA15_0>='\u0000' && LA15_0<='!')||(LA15_0>='#' && LA15_0<='[')||(LA15_0>=']' && LA15_0<='\uFFFF')) ) {
18.1718 + alt15=2;
18.1719 + }
18.1720 +
18.1721 +
18.1722 + switch (alt15) {
18.1723 + case 1 :
18.1724 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:559:9: ACTION_ESC
18.1725 + {
18.1726 + mACTION_ESC();
18.1727 +
18.1728 + }
18.1729 + break;
18.1730 + case 2 :
18.1731 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:559:20: ~ ( '\\\\' | '\"' )
18.1732 + {
18.1733 + if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
18.1734 + input.consume();
18.1735 +
18.1736 + }
18.1737 + else {
18.1738 + MismatchedSetException mse = new MismatchedSetException(null,input);
18.1739 + recover(mse);
18.1740 + throw mse;}
18.1741 +
18.1742 +
18.1743 + }
18.1744 + break;
18.1745 +
18.1746 + default :
18.1747 + break loop15;
18.1748 + }
18.1749 + } while (true);
18.1750 +
18.1751 + match('\"');
18.1752 +
18.1753 + }
18.1754 +
18.1755 + }
18.1756 + finally {
18.1757 + }
18.1758 + }
18.1759 + // $ANTLR end "ACTION_STRING_LITERAL"
18.1760 +
18.1761 + // $ANTLR start "ACTION_ESC"
18.1762 + public final void mACTION_ESC() throws RecognitionException {
18.1763 + try {
18.1764 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:564:2: ( '\\\\\\'' | '\\\\' '\"' | '\\\\' ~ ( '\\'' | '\"' ) )
18.1765 + int alt16=3;
18.1766 + int LA16_0 = input.LA(1);
18.1767 +
18.1768 + if ( (LA16_0=='\\') ) {
18.1769 + int LA16_1 = input.LA(2);
18.1770 +
18.1771 + if ( (LA16_1=='\'') ) {
18.1772 + alt16=1;
18.1773 + }
18.1774 + else if ( (LA16_1=='\"') ) {
18.1775 + alt16=2;
18.1776 + }
18.1777 + else if ( ((LA16_1>='\u0000' && LA16_1<='!')||(LA16_1>='#' && LA16_1<='&')||(LA16_1>='(' && LA16_1<='\uFFFF')) ) {
18.1778 + alt16=3;
18.1779 + }
18.1780 + else {
18.1781 + NoViableAltException nvae =
18.1782 + new NoViableAltException("", 16, 1, input);
18.1783 +
18.1784 + throw nvae;
18.1785 + }
18.1786 + }
18.1787 + else {
18.1788 + NoViableAltException nvae =
18.1789 + new NoViableAltException("", 16, 0, input);
18.1790 +
18.1791 + throw nvae;
18.1792 + }
18.1793 + switch (alt16) {
18.1794 + case 1 :
18.1795 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:564:4: '\\\\\\''
18.1796 + {
18.1797 + match("\\'");
18.1798 +
18.1799 +
18.1800 + }
18.1801 + break;
18.1802 + case 2 :
18.1803 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:565:4: '\\\\' '\"'
18.1804 + {
18.1805 + match('\\');
18.1806 + match('\"');
18.1807 +
18.1808 + }
18.1809 + break;
18.1810 + case 3 :
18.1811 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:566:4: '\\\\' ~ ( '\\'' | '\"' )
18.1812 + {
18.1813 + match('\\');
18.1814 + if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='\uFFFF') ) {
18.1815 + input.consume();
18.1816 +
18.1817 + }
18.1818 + else {
18.1819 + MismatchedSetException mse = new MismatchedSetException(null,input);
18.1820 + recover(mse);
18.1821 + throw mse;}
18.1822 +
18.1823 +
18.1824 + }
18.1825 + break;
18.1826 +
18.1827 + }
18.1828 + }
18.1829 + finally {
18.1830 + }
18.1831 + }
18.1832 + // $ANTLR end "ACTION_ESC"
18.1833 +
18.1834 + // $ANTLR start "TOKEN_REF"
18.1835 + public final void mTOKEN_REF() throws RecognitionException {
18.1836 + try {
18.1837 + int _type = TOKEN_REF;
18.1838 + int _channel = DEFAULT_TOKEN_CHANNEL;
18.1839 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:570:2: ( 'A' .. 'Z' ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* )
18.1840 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:570:4: 'A' .. 'Z' ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
18.1841 + {
18.1842 + matchRange('A','Z');
18.1843 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:570:13: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
18.1844 + loop17:
18.1845 + do {
18.1846 + int alt17=2;
18.1847 + int LA17_0 = input.LA(1);
18.1848 +
18.1849 + if ( ((LA17_0>='0' && LA17_0<='9')||(LA17_0>='A' && LA17_0<='Z')||LA17_0=='_'||(LA17_0>='a' && LA17_0<='z')) ) {
18.1850 + alt17=1;
18.1851 + }
18.1852 +
18.1853 +
18.1854 + switch (alt17) {
18.1855 + case 1 :
18.1856 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:
18.1857 + {
18.1858 + if ( (input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) {
18.1859 + input.consume();
18.1860 +
18.1861 + }
18.1862 + else {
18.1863 + MismatchedSetException mse = new MismatchedSetException(null,input);
18.1864 + recover(mse);
18.1865 + throw mse;}
18.1866 +
18.1867 +
18.1868 + }
18.1869 + break;
18.1870 +
18.1871 + default :
18.1872 + break loop17;
18.1873 + }
18.1874 + } while (true);
18.1875 +
18.1876 +
18.1877 + }
18.1878 +
18.1879 + state.type = _type;
18.1880 + state.channel = _channel;
18.1881 + }
18.1882 + finally {
18.1883 + }
18.1884 + }
18.1885 + // $ANTLR end "TOKEN_REF"
18.1886 +
18.1887 + // $ANTLR start "RULE_REF"
18.1888 + public final void mRULE_REF() throws RecognitionException {
18.1889 + try {
18.1890 + int _type = RULE_REF;
18.1891 + int _channel = DEFAULT_TOKEN_CHANNEL;
18.1892 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:574:2: ( 'a' .. 'z' ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* )
18.1893 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:574:4: 'a' .. 'z' ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
18.1894 + {
18.1895 + matchRange('a','z');
18.1896 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:574:13: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
18.1897 + loop18:
18.1898 + do {
18.1899 + int alt18=2;
18.1900 + int LA18_0 = input.LA(1);
18.1901 +
18.1902 + if ( ((LA18_0>='0' && LA18_0<='9')||(LA18_0>='A' && LA18_0<='Z')||LA18_0=='_'||(LA18_0>='a' && LA18_0<='z')) ) {
18.1903 + alt18=1;
18.1904 + }
18.1905 +
18.1906 +
18.1907 + switch (alt18) {
18.1908 + case 1 :
18.1909 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:
18.1910 + {
18.1911 + if ( (input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) {
18.1912 + input.consume();
18.1913 +
18.1914 + }
18.1915 + else {
18.1916 + MismatchedSetException mse = new MismatchedSetException(null,input);
18.1917 + recover(mse);
18.1918 + throw mse;}
18.1919 +
18.1920 +
18.1921 + }
18.1922 + break;
18.1923 +
18.1924 + default :
18.1925 + break loop18;
18.1926 + }
18.1927 + } while (true);
18.1928 +
18.1929 +
18.1930 + }
18.1931 +
18.1932 + state.type = _type;
18.1933 + state.channel = _channel;
18.1934 + }
18.1935 + finally {
18.1936 + }
18.1937 + }
18.1938 + // $ANTLR end "RULE_REF"
18.1939 +
18.1940 + // $ANTLR start "OPTIONS"
18.1941 + public final void mOPTIONS() throws RecognitionException {
18.1942 + try {
18.1943 + int _type = OPTIONS;
18.1944 + int _channel = DEFAULT_TOKEN_CHANNEL;
18.1945 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:581:2: ( 'options' WS_LOOP '{' )
18.1946 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:581:4: 'options' WS_LOOP '{'
18.1947 + {
18.1948 + match("options");
18.1949 +
18.1950 + mWS_LOOP();
18.1951 + match('{');
18.1952 +
18.1953 + }
18.1954 +
18.1955 + state.type = _type;
18.1956 + state.channel = _channel;
18.1957 + }
18.1958 + finally {
18.1959 + }
18.1960 + }
18.1961 + // $ANTLR end "OPTIONS"
18.1962 +
18.1963 + // $ANTLR start "TOKENS"
18.1964 + public final void mTOKENS() throws RecognitionException {
18.1965 + try {
18.1966 + int _type = TOKENS;
18.1967 + int _channel = DEFAULT_TOKEN_CHANNEL;
18.1968 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:585:2: ( 'tokens' WS_LOOP '{' )
18.1969 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:585:4: 'tokens' WS_LOOP '{'
18.1970 + {
18.1971 + match("tokens");
18.1972 +
18.1973 + mWS_LOOP();
18.1974 + match('{');
18.1975 +
18.1976 + }
18.1977 +
18.1978 + state.type = _type;
18.1979 + state.channel = _channel;
18.1980 + }
18.1981 + finally {
18.1982 + }
18.1983 + }
18.1984 + // $ANTLR end "TOKENS"
18.1985 +
18.1986 + // $ANTLR start "SRC"
18.1987 + public final void mSRC() throws RecognitionException {
18.1988 + try {
18.1989 + CommonToken file=null;
18.1990 + CommonToken line=null;
18.1991 +
18.1992 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:593:5: ( 'src' ' ' file= ACTION_STRING_LITERAL ' ' line= INT )
18.1993 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:593:7: 'src' ' ' file= ACTION_STRING_LITERAL ' ' line= INT
18.1994 + {
18.1995 + match("src");
18.1996 +
18.1997 + match(' ');
18.1998 + int fileStart982 = getCharIndex();
18.1999 + int fileStartLine982 = getLine();
18.2000 + int fileStartCharPos982 = getCharPositionInLine();
18.2001 + mACTION_STRING_LITERAL();
18.2002 + file = new CommonToken(input, Token.INVALID_TOKEN_TYPE, Token.DEFAULT_CHANNEL, fileStart982, getCharIndex()-1);
18.2003 + file.setLine(fileStartLine982);
18.2004 + file.setCharPositionInLine(fileStartCharPos982);
18.2005 + match(' ');
18.2006 + int lineStart988 = getCharIndex();
18.2007 + int lineStartLine988 = getLine();
18.2008 + int lineStartCharPos988 = getCharPositionInLine();
18.2009 + mINT();
18.2010 + line = new CommonToken(input, Token.INVALID_TOKEN_TYPE, Token.DEFAULT_CHANNEL, lineStart988, getCharIndex()-1);
18.2011 + line.setLine(lineStartLine988);
18.2012 + line.setCharPositionInLine(lineStartCharPos988);
18.2013 +
18.2014 + }
18.2015 +
18.2016 + }
18.2017 + finally {
18.2018 + }
18.2019 + }
18.2020 + // $ANTLR end "SRC"
18.2021 +
18.2022 + // $ANTLR start "WS"
18.2023 + public final void mWS() throws RecognitionException {
18.2024 + try {
18.2025 + int _type = WS;
18.2026 + int _channel = DEFAULT_TOKEN_CHANNEL;
18.2027 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:596:4: ( ( ' ' | '\\t' | ( '\\r' )? '\\n' )+ )
18.2028 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:596:6: ( ' ' | '\\t' | ( '\\r' )? '\\n' )+
18.2029 + {
18.2030 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:596:6: ( ' ' | '\\t' | ( '\\r' )? '\\n' )+
18.2031 + int cnt20=0;
18.2032 + loop20:
18.2033 + do {
18.2034 + int alt20=4;
18.2035 + switch ( input.LA(1) ) {
18.2036 + case ' ':
18.2037 + {
18.2038 + alt20=1;
18.2039 + }
18.2040 + break;
18.2041 + case '\t':
18.2042 + {
18.2043 + alt20=2;
18.2044 + }
18.2045 + break;
18.2046 + case '\n':
18.2047 + case '\r':
18.2048 + {
18.2049 + alt20=3;
18.2050 + }
18.2051 + break;
18.2052 +
18.2053 + }
18.2054 +
18.2055 + switch (alt20) {
18.2056 + case 1 :
18.2057 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:596:8: ' '
18.2058 + {
18.2059 + match(' ');
18.2060 +
18.2061 + }
18.2062 + break;
18.2063 + case 2 :
18.2064 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:597:5: '\\t'
18.2065 + {
18.2066 + match('\t');
18.2067 +
18.2068 + }
18.2069 + break;
18.2070 + case 3 :
18.2071 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:598:5: ( '\\r' )? '\\n'
18.2072 + {
18.2073 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:598:5: ( '\\r' )?
18.2074 + int alt19=2;
18.2075 + int LA19_0 = input.LA(1);
18.2076 +
18.2077 + if ( (LA19_0=='\r') ) {
18.2078 + alt19=1;
18.2079 + }
18.2080 + switch (alt19) {
18.2081 + case 1 :
18.2082 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:598:5: '\\r'
18.2083 + {
18.2084 + match('\r');
18.2085 +
18.2086 + }
18.2087 + break;
18.2088 +
18.2089 + }
18.2090 +
18.2091 + match('\n');
18.2092 +
18.2093 + }
18.2094 + break;
18.2095 +
18.2096 + default :
18.2097 + if ( cnt20 >= 1 ) break loop20;
18.2098 + EarlyExitException eee =
18.2099 + new EarlyExitException(20, input);
18.2100 + throw eee;
18.2101 + }
18.2102 + cnt20++;
18.2103 + } while (true);
18.2104 +
18.2105 + _channel=HIDDEN;
18.2106 +
18.2107 + }
18.2108 +
18.2109 + state.type = _type;
18.2110 + state.channel = _channel;
18.2111 + }
18.2112 + finally {
18.2113 + }
18.2114 + }
18.2115 + // $ANTLR end "WS"
18.2116 +
18.2117 + // $ANTLR start "WS_LOOP"
18.2118 + public final void mWS_LOOP() throws RecognitionException {
18.2119 + try {
18.2120 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:605:2: ( ( WS | SL_COMMENT | ML_COMMENT )* )
18.2121 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:605:4: ( WS | SL_COMMENT | ML_COMMENT )*
18.2122 + {
18.2123 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:605:4: ( WS | SL_COMMENT | ML_COMMENT )*
18.2124 + loop21:
18.2125 + do {
18.2126 + int alt21=4;
18.2127 + int LA21_0 = input.LA(1);
18.2128 +
18.2129 + if ( ((LA21_0>='\t' && LA21_0<='\n')||LA21_0=='\r'||LA21_0==' ') ) {
18.2130 + alt21=1;
18.2131 + }
18.2132 + else if ( (LA21_0=='/') ) {
18.2133 + int LA21_3 = input.LA(2);
18.2134 +
18.2135 + if ( (LA21_3=='/') ) {
18.2136 + alt21=2;
18.2137 + }
18.2138 + else if ( (LA21_3=='*') ) {
18.2139 + alt21=3;
18.2140 + }
18.2141 +
18.2142 +
18.2143 + }
18.2144 +
18.2145 +
18.2146 + switch (alt21) {
18.2147 + case 1 :
18.2148 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:605:6: WS
18.2149 + {
18.2150 + mWS();
18.2151 +
18.2152 + }
18.2153 + break;
18.2154 + case 2 :
18.2155 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:606:5: SL_COMMENT
18.2156 + {
18.2157 + mSL_COMMENT();
18.2158 +
18.2159 + }
18.2160 + break;
18.2161 + case 3 :
18.2162 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:607:5: ML_COMMENT
18.2163 + {
18.2164 + mML_COMMENT();
18.2165 +
18.2166 + }
18.2167 + break;
18.2168 +
18.2169 + default :
18.2170 + break loop21;
18.2171 + }
18.2172 + } while (true);
18.2173 +
18.2174 +
18.2175 + }
18.2176 +
18.2177 + }
18.2178 + finally {
18.2179 + }
18.2180 + }
18.2181 + // $ANTLR end "WS_LOOP"
18.2182 +
18.2183 + public void mTokens() throws RecognitionException {
18.2184 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:1:8: ( SCOPE | FRAGMENT | TREE_BEGIN | ROOT | BANG | RANGE | REWRITE | T__65 | T__66 | T__67 | T__68 | T__69 | T__70 | T__71 | T__72 | T__73 | T__74 | T__75 | T__76 | T__77 | T__78 | T__79 | T__80 | T__81 | T__82 | T__83 | T__84 | T__85 | T__86 | T__87 | T__88 | T__89 | T__90 | T__91 | T__92 | T__93 | SL_COMMENT | ML_COMMENT | CHAR_LITERAL | STRING_LITERAL | DOUBLE_QUOTE_STRING_LITERAL | DOUBLE_ANGLE_STRING_LITERAL | INT | ARG_ACTION | ACTION | TOKEN_REF | RULE_REF | OPTIONS | TOKENS | WS )
18.2185 + int alt22=50;
18.2186 + alt22 = dfa22.predict(input);
18.2187 + switch (alt22) {
18.2188 + case 1 :
18.2189 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:1:10: SCOPE
18.2190 + {
18.2191 + mSCOPE();
18.2192 +
18.2193 + }
18.2194 + break;
18.2195 + case 2 :
18.2196 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:1:16: FRAGMENT
18.2197 + {
18.2198 + mFRAGMENT();
18.2199 +
18.2200 + }
18.2201 + break;
18.2202 + case 3 :
18.2203 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:1:25: TREE_BEGIN
18.2204 + {
18.2205 + mTREE_BEGIN();
18.2206 +
18.2207 + }
18.2208 + break;
18.2209 + case 4 :
18.2210 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:1:36: ROOT
18.2211 + {
18.2212 + mROOT();
18.2213 +
18.2214 + }
18.2215 + break;
18.2216 + case 5 :
18.2217 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:1:41: BANG
18.2218 + {
18.2219 + mBANG();
18.2220 +
18.2221 + }
18.2222 + break;
18.2223 + case 6 :
18.2224 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:1:46: RANGE
18.2225 + {
18.2226 + mRANGE();
18.2227 +
18.2228 + }
18.2229 + break;
18.2230 + case 7 :
18.2231 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:1:52: REWRITE
18.2232 + {
18.2233 + mREWRITE();
18.2234 +
18.2235 + }
18.2236 + break;
18.2237 + case 8 :
18.2238 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:1:60: T__65
18.2239 + {
18.2240 + mT__65();
18.2241 +
18.2242 + }
18.2243 + break;
18.2244 + case 9 :
18.2245 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:1:66: T__66
18.2246 + {
18.2247 + mT__66();
18.2248 +
18.2249 + }
18.2250 + break;
18.2251 + case 10 :
18.2252 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:1:72: T__67
18.2253 + {
18.2254 + mT__67();
18.2255 +
18.2256 + }
18.2257 + break;
18.2258 + case 11 :
18.2259 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:1:78: T__68
18.2260 + {
18.2261 + mT__68();
18.2262 +
18.2263 + }
18.2264 + break;
18.2265 + case 12 :
18.2266 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:1:84: T__69
18.2267 + {
18.2268 + mT__69();
18.2269 +
18.2270 + }
18.2271 + break;
18.2272 + case 13 :
18.2273 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:1:90: T__70
18.2274 + {
18.2275 + mT__70();
18.2276 +
18.2277 + }
18.2278 + break;
18.2279 + case 14 :
18.2280 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:1:96: T__71
18.2281 + {
18.2282 + mT__71();
18.2283 +
18.2284 + }
18.2285 + break;
18.2286 + case 15 :
18.2287 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:1:102: T__72
18.2288 + {
18.2289 + mT__72();
18.2290 +
18.2291 + }
18.2292 + break;
18.2293 + case 16 :
18.2294 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:1:108: T__73
18.2295 + {
18.2296 + mT__73();
18.2297 +
18.2298 + }
18.2299 + break;
18.2300 + case 17 :
18.2301 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:1:114: T__74
18.2302 + {
18.2303 + mT__74();
18.2304 +
18.2305 + }
18.2306 + break;
18.2307 + case 18 :
18.2308 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:1:120: T__75
18.2309 + {
18.2310 + mT__75();
18.2311 +
18.2312 + }
18.2313 + break;
18.2314 + case 19 :
18.2315 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:1:126: T__76
18.2316 + {
18.2317 + mT__76();
18.2318 +
18.2319 + }
18.2320 + break;
18.2321 + case 20 :
18.2322 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:1:132: T__77
18.2323 + {
18.2324 + mT__77();
18.2325 +
18.2326 + }
18.2327 + break;
18.2328 + case 21 :
18.2329 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:1:138: T__78
18.2330 + {
18.2331 + mT__78();
18.2332 +
18.2333 + }
18.2334 + break;
18.2335 + case 22 :
18.2336 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:1:144: T__79
18.2337 + {
18.2338 + mT__79();
18.2339 +
18.2340 + }
18.2341 + break;
18.2342 + case 23 :
18.2343 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:1:150: T__80
18.2344 + {
18.2345 + mT__80();
18.2346 +
18.2347 + }
18.2348 + break;
18.2349 + case 24 :
18.2350 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:1:156: T__81
18.2351 + {
18.2352 + mT__81();
18.2353 +
18.2354 + }
18.2355 + break;
18.2356 + case 25 :
18.2357 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:1:162: T__82
18.2358 + {
18.2359 + mT__82();
18.2360 +
18.2361 + }
18.2362 + break;
18.2363 + case 26 :
18.2364 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:1:168: T__83
18.2365 + {
18.2366 + mT__83();
18.2367 +
18.2368 + }
18.2369 + break;
18.2370 + case 27 :
18.2371 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:1:174: T__84
18.2372 + {
18.2373 + mT__84();
18.2374 +
18.2375 + }
18.2376 + break;
18.2377 + case 28 :
18.2378 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:1:180: T__85
18.2379 + {
18.2380 + mT__85();
18.2381 +
18.2382 + }
18.2383 + break;
18.2384 + case 29 :
18.2385 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:1:186: T__86
18.2386 + {
18.2387 + mT__86();
18.2388 +
18.2389 + }
18.2390 + break;
18.2391 + case 30 :
18.2392 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:1:192: T__87
18.2393 + {
18.2394 + mT__87();
18.2395 +
18.2396 + }
18.2397 + break;
18.2398 + case 31 :
18.2399 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:1:198: T__88
18.2400 + {
18.2401 + mT__88();
18.2402 +
18.2403 + }
18.2404 + break;
18.2405 + case 32 :
18.2406 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:1:204: T__89
18.2407 + {
18.2408 + mT__89();
18.2409 +
18.2410 + }
18.2411 + break;
18.2412 + case 33 :
18.2413 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:1:210: T__90
18.2414 + {
18.2415 + mT__90();
18.2416 +
18.2417 + }
18.2418 + break;
18.2419 + case 34 :
18.2420 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:1:216: T__91
18.2421 + {
18.2422 + mT__91();
18.2423 +
18.2424 + }
18.2425 + break;
18.2426 + case 35 :
18.2427 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:1:222: T__92
18.2428 + {
18.2429 + mT__92();
18.2430 +
18.2431 + }
18.2432 + break;
18.2433 + case 36 :
18.2434 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:1:228: T__93
18.2435 + {
18.2436 + mT__93();
18.2437 +
18.2438 + }
18.2439 + break;
18.2440 + case 37 :
18.2441 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:1:234: SL_COMMENT
18.2442 + {
18.2443 + mSL_COMMENT();
18.2444 +
18.2445 + }
18.2446 + break;
18.2447 + case 38 :
18.2448 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:1:245: ML_COMMENT
18.2449 + {
18.2450 + mML_COMMENT();
18.2451 +
18.2452 + }
18.2453 + break;
18.2454 + case 39 :
18.2455 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:1:256: CHAR_LITERAL
18.2456 + {
18.2457 + mCHAR_LITERAL();
18.2458 +
18.2459 + }
18.2460 + break;
18.2461 + case 40 :
18.2462 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:1:269: STRING_LITERAL
18.2463 + {
18.2464 + mSTRING_LITERAL();
18.2465 +
18.2466 + }
18.2467 + break;
18.2468 + case 41 :
18.2469 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:1:284: DOUBLE_QUOTE_STRING_LITERAL
18.2470 + {
18.2471 + mDOUBLE_QUOTE_STRING_LITERAL();
18.2472 +
18.2473 + }
18.2474 + break;
18.2475 + case 42 :
18.2476 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:1:312: DOUBLE_ANGLE_STRING_LITERAL
18.2477 + {
18.2478 + mDOUBLE_ANGLE_STRING_LITERAL();
18.2479 +
18.2480 + }
18.2481 + break;
18.2482 + case 43 :
18.2483 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:1:340: INT
18.2484 + {
18.2485 + mINT();
18.2486 +
18.2487 + }
18.2488 + break;
18.2489 + case 44 :
18.2490 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:1:344: ARG_ACTION
18.2491 + {
18.2492 + mARG_ACTION();
18.2493 +
18.2494 + }
18.2495 + break;
18.2496 + case 45 :
18.2497 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:1:355: ACTION
18.2498 + {
18.2499 + mACTION();
18.2500 +
18.2501 + }
18.2502 + break;
18.2503 + case 46 :
18.2504 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:1:362: TOKEN_REF
18.2505 + {
18.2506 + mTOKEN_REF();
18.2507 +
18.2508 + }
18.2509 + break;
18.2510 + case 47 :
18.2511 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:1:372: RULE_REF
18.2512 + {
18.2513 + mRULE_REF();
18.2514 +
18.2515 + }
18.2516 + break;
18.2517 + case 48 :
18.2518 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:1:381: OPTIONS
18.2519 + {
18.2520 + mOPTIONS();
18.2521 +
18.2522 + }
18.2523 + break;
18.2524 + case 49 :
18.2525 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:1:389: TOKENS
18.2526 + {
18.2527 + mTOKENS();
18.2528 +
18.2529 + }
18.2530 + break;
18.2531 + case 50 :
18.2532 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:1:396: WS
18.2533 + {
18.2534 + mWS();
18.2535 +
18.2536 + }
18.2537 + break;
18.2538 +
18.2539 + }
18.2540 +
18.2541 + }
18.2542 +
18.2543 +
18.2544 + protected DFA2 dfa2 = new DFA2(this);
18.2545 + protected DFA9 dfa9 = new DFA9(this);
18.2546 + protected DFA13 dfa13 = new DFA13(this);
18.2547 + protected DFA22 dfa22 = new DFA22(this);
18.2548 + static final String DFA2_eotS =
18.2549 + "\22\uffff\1\2\4\uffff\1\2\4\uffff";
18.2550 + static final String DFA2_eofS =
18.2551 + "\34\uffff";
18.2552 + static final String DFA2_minS =
18.2553 + "\2\0\1\uffff\26\0\1\uffff\1\0\1\uffff";
18.2554 + static final String DFA2_maxS =
18.2555 + "\2\uffff\1\uffff\26\uffff\1\uffff\1\uffff\1\uffff";
18.2556 + static final String DFA2_acceptS =
18.2557 + "\2\uffff\1\2\26\uffff\1\1\1\uffff\1\1";
18.2558 + static final String DFA2_specialS =
18.2559 + "\1\21\1\12\1\uffff\1\11\1\14\1\13\1\0\1\2\1\3\1\24\1\25\1\27\1\22"+
18.2560 + "\1\5\1\1\1\26\1\7\1\6\1\20\1\10\1\17\1\16\1\23\1\4\1\30\1\uffff"+
18.2561 + "\1\15\1\uffff}>";
18.2562 + static final String[] DFA2_transitionS = {
18.2563 + "\40\2\1\1\uffdf\2",
18.2564 + "\44\2\1\3\uffdb\2",
18.2565 + "",
18.2566 + "\101\2\1\4\uffbe\2",
18.2567 + "\116\2\1\5\uffb1\2",
18.2568 + "\124\2\1\6\uffab\2",
18.2569 + "\114\2\1\7\uffb3\2",
18.2570 + "\122\2\1\10\uffad\2",
18.2571 + "\40\2\1\11\uffdf\2",
18.2572 + "\163\2\1\12\uff8c\2",
18.2573 + "\162\2\1\13\uff8d\2",
18.2574 + "\143\2\1\14\uff9c\2",
18.2575 + "\40\2\1\15\uffdf\2",
18.2576 + "\42\2\1\16\uffdd\2",
18.2577 + "\12\23\1\22\2\23\1\20\24\23\1\21\71\23\1\17\uffa3\23",
18.2578 + "\12\30\1\27\2\30\1\26\24\30\1\25\4\30\1\24\uffd8\30",
18.2579 + "\12\31\1\22\ufff5\31",
18.2580 + "\40\2\1\32\uffdf\2",
18.2581 + "\0\31",
18.2582 + "\12\23\1\22\2\23\1\20\24\23\1\21\71\23\1\17\uffa3\23",
18.2583 + "\12\23\1\22\2\23\1\20\24\23\1\21\71\23\1\17\uffa3\23",
18.2584 + "\12\23\1\22\2\23\1\20\24\23\1\21\71\23\1\17\uffa3\23",
18.2585 + "\12\31\1\22\ufff5\31",
18.2586 + "\0\31",
18.2587 + "\12\23\1\22\2\23\1\20\24\23\1\21\71\23\1\17\uffa3\23",
18.2588 + "",
18.2589 + "\60\2\12\33\uffc6\2",
18.2590 + ""
18.2591 + };
18.2592 +
18.2593 + static final short[] DFA2_eot = DFA.unpackEncodedString(DFA2_eotS);
18.2594 + static final short[] DFA2_eof = DFA.unpackEncodedString(DFA2_eofS);
18.2595 + static final char[] DFA2_min = DFA.unpackEncodedStringToUnsignedChars(DFA2_minS);
18.2596 + static final char[] DFA2_max = DFA.unpackEncodedStringToUnsignedChars(DFA2_maxS);
18.2597 + static final short[] DFA2_accept = DFA.unpackEncodedString(DFA2_acceptS);
18.2598 + static final short[] DFA2_special = DFA.unpackEncodedString(DFA2_specialS);
18.2599 + static final short[][] DFA2_transition;
18.2600 +
18.2601 + static {
18.2602 + int numStates = DFA2_transitionS.length;
18.2603 + DFA2_transition = new short[numStates][];
18.2604 + for (int i=0; i<numStates; i++) {
18.2605 + DFA2_transition[i] = DFA.unpackEncodedString(DFA2_transitionS[i]);
18.2606 + }
18.2607 + }
18.2608 +
18.2609 + class DFA2 extends DFA {
18.2610 +
18.2611 + public DFA2(BaseRecognizer recognizer) {
18.2612 + this.recognizer = recognizer;
18.2613 + this.decisionNumber = 2;
18.2614 + this.eot = DFA2_eot;
18.2615 + this.eof = DFA2_eof;
18.2616 + this.min = DFA2_min;
18.2617 + this.max = DFA2_max;
18.2618 + this.accept = DFA2_accept;
18.2619 + this.special = DFA2_special;
18.2620 + this.transition = DFA2_transition;
18.2621 + }
18.2622 + public String getDescription() {
18.2623 + return "458:5: ( ' $ANTLR ' SRC | (~ ( '\\r' | '\\n' ) )* )";
18.2624 + }
18.2625 + public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
18.2626 + IntStream input = _input;
18.2627 + int _s = s;
18.2628 + switch ( s ) {
18.2629 + case 0 :
18.2630 + int LA2_6 = input.LA(1);
18.2631 +
18.2632 + s = -1;
18.2633 + if ( (LA2_6=='L') ) {s = 7;}
18.2634 +
18.2635 + else if ( ((LA2_6>='\u0000' && LA2_6<='K')||(LA2_6>='M' && LA2_6<='\uFFFF')) ) {s = 2;}
18.2636 +
18.2637 + if ( s>=0 ) return s;
18.2638 + break;
18.2639 + case 1 :
18.2640 + int LA2_14 = input.LA(1);
18.2641 +
18.2642 + s = -1;
18.2643 + if ( (LA2_14=='\\') ) {s = 15;}
18.2644 +
18.2645 + else if ( (LA2_14=='\r') ) {s = 16;}
18.2646 +
18.2647 + else if ( (LA2_14=='\"') ) {s = 17;}
18.2648 +
18.2649 + else if ( (LA2_14=='\n') ) {s = 18;}
18.2650 +
18.2651 + else if ( ((LA2_14>='\u0000' && LA2_14<='\t')||(LA2_14>='\u000B' && LA2_14<='\f')||(LA2_14>='\u000E' && LA2_14<='!')||(LA2_14>='#' && LA2_14<='[')||(LA2_14>=']' && LA2_14<='\uFFFF')) ) {s = 19;}
18.2652 +
18.2653 + if ( s>=0 ) return s;
18.2654 + break;
18.2655 + case 2 :
18.2656 + int LA2_7 = input.LA(1);
18.2657 +
18.2658 + s = -1;
18.2659 + if ( (LA2_7=='R') ) {s = 8;}
18.2660 +
18.2661 + else if ( ((LA2_7>='\u0000' && LA2_7<='Q')||(LA2_7>='S' && LA2_7<='\uFFFF')) ) {s = 2;}
18.2662 +
18.2663 + if ( s>=0 ) return s;
18.2664 + break;
18.2665 + case 3 :
18.2666 + int LA2_8 = input.LA(1);
18.2667 +
18.2668 + s = -1;
18.2669 + if ( (LA2_8==' ') ) {s = 9;}
18.2670 +
18.2671 + else if ( ((LA2_8>='\u0000' && LA2_8<='\u001F')||(LA2_8>='!' && LA2_8<='\uFFFF')) ) {s = 2;}
18.2672 +
18.2673 + if ( s>=0 ) return s;
18.2674 + break;
18.2675 + case 4 :
18.2676 + int LA2_23 = input.LA(1);
18.2677 +
18.2678 + s = -1;
18.2679 + if ( ((LA2_23>='\u0000' && LA2_23<='\uFFFF')) ) {s = 25;}
18.2680 +
18.2681 + else s = 2;
18.2682 +
18.2683 + if ( s>=0 ) return s;
18.2684 + break;
18.2685 + case 5 :
18.2686 + int LA2_13 = input.LA(1);
18.2687 +
18.2688 + s = -1;
18.2689 + if ( (LA2_13=='\"') ) {s = 14;}
18.2690 +
18.2691 + else if ( ((LA2_13>='\u0000' && LA2_13<='!')||(LA2_13>='#' && LA2_13<='\uFFFF')) ) {s = 2;}
18.2692 +
18.2693 + if ( s>=0 ) return s;
18.2694 + break;
18.2695 + case 6 :
18.2696 + int LA2_17 = input.LA(1);
18.2697 +
18.2698 + s = -1;
18.2699 + if ( (LA2_17==' ') ) {s = 26;}
18.2700 +
18.2701 + else if ( ((LA2_17>='\u0000' && LA2_17<='\u001F')||(LA2_17>='!' && LA2_17<='\uFFFF')) ) {s = 2;}
18.2702 +
18.2703 + if ( s>=0 ) return s;
18.2704 + break;
18.2705 + case 7 :
18.2706 + int LA2_16 = input.LA(1);
18.2707 +
18.2708 + s = -1;
18.2709 + if ( ((LA2_16>='\u0000' && LA2_16<='\t')||(LA2_16>='\u000B' && LA2_16<='\uFFFF')) ) {s = 25;}
18.2710 +
18.2711 + else if ( (LA2_16=='\n') ) {s = 18;}
18.2712 +
18.2713 + if ( s>=0 ) return s;
18.2714 + break;
18.2715 + case 8 :
18.2716 + int LA2_19 = input.LA(1);
18.2717 +
18.2718 + s = -1;
18.2719 + if ( (LA2_19=='\"') ) {s = 17;}
18.2720 +
18.2721 + else if ( (LA2_19=='\\') ) {s = 15;}
18.2722 +
18.2723 + else if ( (LA2_19=='\r') ) {s = 16;}
18.2724 +
18.2725 + else if ( (LA2_19=='\n') ) {s = 18;}
18.2726 +
18.2727 + else if ( ((LA2_19>='\u0000' && LA2_19<='\t')||(LA2_19>='\u000B' && LA2_19<='\f')||(LA2_19>='\u000E' && LA2_19<='!')||(LA2_19>='#' && LA2_19<='[')||(LA2_19>=']' && LA2_19<='\uFFFF')) ) {s = 19;}
18.2728 +
18.2729 + if ( s>=0 ) return s;
18.2730 + break;
18.2731 + case 9 :
18.2732 + int LA2_3 = input.LA(1);
18.2733 +
18.2734 + s = -1;
18.2735 + if ( (LA2_3=='A') ) {s = 4;}
18.2736 +
18.2737 + else if ( ((LA2_3>='\u0000' && LA2_3<='@')||(LA2_3>='B' && LA2_3<='\uFFFF')) ) {s = 2;}
18.2738 +
18.2739 + if ( s>=0 ) return s;
18.2740 + break;
18.2741 + case 10 :
18.2742 + int LA2_1 = input.LA(1);
18.2743 +
18.2744 + s = -1;
18.2745 + if ( (LA2_1=='$') ) {s = 3;}
18.2746 +
18.2747 + else if ( ((LA2_1>='\u0000' && LA2_1<='#')||(LA2_1>='%' && LA2_1<='\uFFFF')) ) {s = 2;}
18.2748 +
18.2749 + if ( s>=0 ) return s;
18.2750 + break;
18.2751 + case 11 :
18.2752 + int LA2_5 = input.LA(1);
18.2753 +
18.2754 + s = -1;
18.2755 + if ( (LA2_5=='T') ) {s = 6;}
18.2756 +
18.2757 + else if ( ((LA2_5>='\u0000' && LA2_5<='S')||(LA2_5>='U' && LA2_5<='\uFFFF')) ) {s = 2;}
18.2758 +
18.2759 + if ( s>=0 ) return s;
18.2760 + break;
18.2761 + case 12 :
18.2762 + int LA2_4 = input.LA(1);
18.2763 +
18.2764 + s = -1;
18.2765 + if ( (LA2_4=='N') ) {s = 5;}
18.2766 +
18.2767 + else if ( ((LA2_4>='\u0000' && LA2_4<='M')||(LA2_4>='O' && LA2_4<='\uFFFF')) ) {s = 2;}
18.2768 +
18.2769 + if ( s>=0 ) return s;
18.2770 + break;
18.2771 + case 13 :
18.2772 + int LA2_26 = input.LA(1);
18.2773 +
18.2774 + s = -1;
18.2775 + if ( ((LA2_26>='0' && LA2_26<='9')) ) {s = 27;}
18.2776 +
18.2777 + else if ( ((LA2_26>='\u0000' && LA2_26<='/')||(LA2_26>=':' && LA2_26<='\uFFFF')) ) {s = 2;}
18.2778 +
18.2779 + if ( s>=0 ) return s;
18.2780 + break;
18.2781 + case 14 :
18.2782 + int LA2_21 = input.LA(1);
18.2783 +
18.2784 + s = -1;
18.2785 + if ( (LA2_21=='\"') ) {s = 17;}
18.2786 +
18.2787 + else if ( (LA2_21=='\\') ) {s = 15;}
18.2788 +
18.2789 + else if ( (LA2_21=='\r') ) {s = 16;}
18.2790 +
18.2791 + else if ( (LA2_21=='\n') ) {s = 18;}
18.2792 +
18.2793 + else if ( ((LA2_21>='\u0000' && LA2_21<='\t')||(LA2_21>='\u000B' && LA2_21<='\f')||(LA2_21>='\u000E' && LA2_21<='!')||(LA2_21>='#' && LA2_21<='[')||(LA2_21>=']' && LA2_21<='\uFFFF')) ) {s = 19;}
18.2794 +
18.2795 + if ( s>=0 ) return s;
18.2796 + break;
18.2797 + case 15 :
18.2798 + int LA2_20 = input.LA(1);
18.2799 +
18.2800 + s = -1;
18.2801 + if ( (LA2_20=='\"') ) {s = 17;}
18.2802 +
18.2803 + else if ( (LA2_20=='\\') ) {s = 15;}
18.2804 +
18.2805 + else if ( (LA2_20=='\r') ) {s = 16;}
18.2806 +
18.2807 + else if ( (LA2_20=='\n') ) {s = 18;}
18.2808 +
18.2809 + else if ( ((LA2_20>='\u0000' && LA2_20<='\t')||(LA2_20>='\u000B' && LA2_20<='\f')||(LA2_20>='\u000E' && LA2_20<='!')||(LA2_20>='#' && LA2_20<='[')||(LA2_20>=']' && LA2_20<='\uFFFF')) ) {s = 19;}
18.2810 +
18.2811 + if ( s>=0 ) return s;
18.2812 + break;
18.2813 + case 16 :
18.2814 + int LA2_18 = input.LA(1);
18.2815 +
18.2816 + s = -1;
18.2817 + if ( ((LA2_18>='\u0000' && LA2_18<='\uFFFF')) ) {s = 25;}
18.2818 +
18.2819 + else s = 2;
18.2820 +
18.2821 + if ( s>=0 ) return s;
18.2822 + break;
18.2823 + case 17 :
18.2824 + int LA2_0 = input.LA(1);
18.2825 +
18.2826 + s = -1;
18.2827 + if ( (LA2_0==' ') ) {s = 1;}
18.2828 +
18.2829 + else if ( ((LA2_0>='\u0000' && LA2_0<='\u001F')||(LA2_0>='!' && LA2_0<='\uFFFF')) ) {s = 2;}
18.2830 +
18.2831 + if ( s>=0 ) return s;
18.2832 + break;
18.2833 + case 18 :
18.2834 + int LA2_12 = input.LA(1);
18.2835 +
18.2836 + s = -1;
18.2837 + if ( (LA2_12==' ') ) {s = 13;}
18.2838 +
18.2839 + else if ( ((LA2_12>='\u0000' && LA2_12<='\u001F')||(LA2_12>='!' && LA2_12<='\uFFFF')) ) {s = 2;}
18.2840 +
18.2841 + if ( s>=0 ) return s;
18.2842 + break;
18.2843 + case 19 :
18.2844 + int LA2_22 = input.LA(1);
18.2845 +
18.2846 + s = -1;
18.2847 + if ( ((LA2_22>='\u0000' && LA2_22<='\t')||(LA2_22>='\u000B' && LA2_22<='\uFFFF')) ) {s = 25;}
18.2848 +
18.2849 + else if ( (LA2_22=='\n') ) {s = 18;}
18.2850 +
18.2851 + if ( s>=0 ) return s;
18.2852 + break;
18.2853 + case 20 :
18.2854 + int LA2_9 = input.LA(1);
18.2855 +
18.2856 + s = -1;
18.2857 + if ( (LA2_9=='s') ) {s = 10;}
18.2858 +
18.2859 + else if ( ((LA2_9>='\u0000' && LA2_9<='r')||(LA2_9>='t' && LA2_9<='\uFFFF')) ) {s = 2;}
18.2860 +
18.2861 + if ( s>=0 ) return s;
18.2862 + break;
18.2863 + case 21 :
18.2864 + int LA2_10 = input.LA(1);
18.2865 +
18.2866 + s = -1;
18.2867 + if ( (LA2_10=='r') ) {s = 11;}
18.2868 +
18.2869 + else if ( ((LA2_10>='\u0000' && LA2_10<='q')||(LA2_10>='s' && LA2_10<='\uFFFF')) ) {s = 2;}
18.2870 +
18.2871 + if ( s>=0 ) return s;
18.2872 + break;
18.2873 + case 22 :
18.2874 + int LA2_15 = input.LA(1);
18.2875 +
18.2876 + s = -1;
18.2877 + if ( (LA2_15=='\'') ) {s = 20;}
18.2878 +
18.2879 + else if ( (LA2_15=='\"') ) {s = 21;}
18.2880 +
18.2881 + else if ( (LA2_15=='\r') ) {s = 22;}
18.2882 +
18.2883 + else if ( (LA2_15=='\n') ) {s = 23;}
18.2884 +
18.2885 + else if ( ((LA2_15>='\u0000' && LA2_15<='\t')||(LA2_15>='\u000B' && LA2_15<='\f')||(LA2_15>='\u000E' && LA2_15<='!')||(LA2_15>='#' && LA2_15<='&')||(LA2_15>='(' && LA2_15<='\uFFFF')) ) {s = 24;}
18.2886 +
18.2887 + if ( s>=0 ) return s;
18.2888 + break;
18.2889 + case 23 :
18.2890 + int LA2_11 = input.LA(1);
18.2891 +
18.2892 + s = -1;
18.2893 + if ( (LA2_11=='c') ) {s = 12;}
18.2894 +
18.2895 + else if ( ((LA2_11>='\u0000' && LA2_11<='b')||(LA2_11>='d' && LA2_11<='\uFFFF')) ) {s = 2;}
18.2896 +
18.2897 + if ( s>=0 ) return s;
18.2898 + break;
18.2899 + case 24 :
18.2900 + int LA2_24 = input.LA(1);
18.2901 +
18.2902 + s = -1;
18.2903 + if ( (LA2_24=='\"') ) {s = 17;}
18.2904 +
18.2905 + else if ( (LA2_24=='\\') ) {s = 15;}
18.2906 +
18.2907 + else if ( (LA2_24=='\r') ) {s = 16;}
18.2908 +
18.2909 + else if ( (LA2_24=='\n') ) {s = 18;}
18.2910 +
18.2911 + else if ( ((LA2_24>='\u0000' && LA2_24<='\t')||(LA2_24>='\u000B' && LA2_24<='\f')||(LA2_24>='\u000E' && LA2_24<='!')||(LA2_24>='#' && LA2_24<='[')||(LA2_24>=']' && LA2_24<='\uFFFF')) ) {s = 19;}
18.2912 +
18.2913 + if ( s>=0 ) return s;
18.2914 + break;
18.2915 + }
18.2916 + NoViableAltException nvae =
18.2917 + new NoViableAltException(getDescription(), 2, _s, input);
18.2918 + error(nvae);
18.2919 + throw nvae;
18.2920 + }
18.2921 + }
18.2922 + static final String DFA9_eotS =
18.2923 + "\12\uffff\1\13\2\uffff";
18.2924 + static final String DFA9_eofS =
18.2925 + "\15\uffff";
18.2926 + static final String DFA9_minS =
18.2927 + "\1\0\11\uffff\1\60\2\uffff";
18.2928 + static final String DFA9_maxS =
18.2929 + "\1\uffff\11\uffff\1\146\2\uffff";
18.2930 + static final String DFA9_acceptS =
18.2931 + "\1\uffff\1\1\1\2\1\3\1\4\1\5\1\6\1\7\1\10\1\11\1\uffff\1\13\1\12";
18.2932 + static final String DFA9_specialS =
18.2933 + "\1\0\14\uffff}>";
18.2934 + static final String[] DFA9_transitionS = {
18.2935 + "\42\13\1\6\4\13\1\7\26\13\1\11\35\13\1\10\5\13\1\4\3\13\1\5"+
18.2936 + "\7\13\1\1\3\13\1\2\1\13\1\3\1\12\uff8a\13",
18.2937 + "",
18.2938 + "",
18.2939 + "",
18.2940 + "",
18.2941 + "",
18.2942 + "",
18.2943 + "",
18.2944 + "",
18.2945 + "",
18.2946 + "\12\14\7\uffff\6\14\32\uffff\6\14",
18.2947 + "",
18.2948 + ""
18.2949 + };
18.2950 +
18.2951 + static final short[] DFA9_eot = DFA.unpackEncodedString(DFA9_eotS);
18.2952 + static final short[] DFA9_eof = DFA.unpackEncodedString(DFA9_eofS);
18.2953 + static final char[] DFA9_min = DFA.unpackEncodedStringToUnsignedChars(DFA9_minS);
18.2954 + static final char[] DFA9_max = DFA.unpackEncodedStringToUnsignedChars(DFA9_maxS);
18.2955 + static final short[] DFA9_accept = DFA.unpackEncodedString(DFA9_acceptS);
18.2956 + static final short[] DFA9_special = DFA.unpackEncodedString(DFA9_specialS);
18.2957 + static final short[][] DFA9_transition;
18.2958 +
18.2959 + static {
18.2960 + int numStates = DFA9_transitionS.length;
18.2961 + DFA9_transition = new short[numStates][];
18.2962 + for (int i=0; i<numStates; i++) {
18.2963 + DFA9_transition[i] = DFA.unpackEncodedString(DFA9_transitionS[i]);
18.2964 + }
18.2965 + }
18.2966 +
18.2967 + class DFA9 extends DFA {
18.2968 +
18.2969 + public DFA9(BaseRecognizer recognizer) {
18.2970 + this.recognizer = recognizer;
18.2971 + this.decisionNumber = 9;
18.2972 + this.eot = DFA9_eot;
18.2973 + this.eof = DFA9_eof;
18.2974 + this.min = DFA9_min;
18.2975 + this.max = DFA9_max;
18.2976 + this.accept = DFA9_accept;
18.2977 + this.special = DFA9_special;
18.2978 + this.transition = DFA9_transition;
18.2979 + }
18.2980 + public String getDescription() {
18.2981 + return "493:3: ( 'n' | 'r' | 't' | 'b' | 'f' | '\"' | '\\'' | '\\\\' | '>' | 'u' XDIGIT XDIGIT XDIGIT XDIGIT | . )";
18.2982 + }
18.2983 + public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
18.2984 + IntStream input = _input;
18.2985 + int _s = s;
18.2986 + switch ( s ) {
18.2987 + case 0 :
18.2988 + int LA9_0 = input.LA(1);
18.2989 +
18.2990 + s = -1;
18.2991 + if ( (LA9_0=='n') ) {s = 1;}
18.2992 +
18.2993 + else if ( (LA9_0=='r') ) {s = 2;}
18.2994 +
18.2995 + else if ( (LA9_0=='t') ) {s = 3;}
18.2996 +
18.2997 + else if ( (LA9_0=='b') ) {s = 4;}
18.2998 +
18.2999 + else if ( (LA9_0=='f') ) {s = 5;}
18.3000 +
18.3001 + else if ( (LA9_0=='\"') ) {s = 6;}
18.3002 +
18.3003 + else if ( (LA9_0=='\'') ) {s = 7;}
18.3004 +
18.3005 + else if ( (LA9_0=='\\') ) {s = 8;}
18.3006 +
18.3007 + else if ( (LA9_0=='>') ) {s = 9;}
18.3008 +
18.3009 + else if ( (LA9_0=='u') ) {s = 10;}
18.3010 +
18.3011 + else if ( ((LA9_0>='\u0000' && LA9_0<='!')||(LA9_0>='#' && LA9_0<='&')||(LA9_0>='(' && LA9_0<='=')||(LA9_0>='?' && LA9_0<='[')||(LA9_0>=']' && LA9_0<='a')||(LA9_0>='c' && LA9_0<='e')||(LA9_0>='g' && LA9_0<='m')||(LA9_0>='o' && LA9_0<='q')||LA9_0=='s'||(LA9_0>='v' && LA9_0<='\uFFFF')) ) {s = 11;}
18.3012 +
18.3013 + if ( s>=0 ) return s;
18.3014 + break;
18.3015 + }
18.3016 + NoViableAltException nvae =
18.3017 + new NoViableAltException(getDescription(), 9, _s, input);
18.3018 + error(nvae);
18.3019 + throw nvae;
18.3020 + }
18.3021 + }
18.3022 + static final String DFA13_eotS =
18.3023 + "\34\uffff";
18.3024 + static final String DFA13_eofS =
18.3025 + "\34\uffff";
18.3026 + static final String DFA13_minS =
18.3027 + "\1\0\2\uffff\3\0\26\uffff";
18.3028 + static final String DFA13_maxS =
18.3029 + "\1\uffff\2\uffff\3\uffff\26\uffff";
18.3030 + static final String DFA13_acceptS =
18.3031 + "\1\uffff\1\7\1\1\3\uffff\1\6\1\2\1\3\5\uffff\7\4\6\5\1\uffff";
18.3032 + static final String DFA13_specialS =
18.3033 + "\1\0\2\uffff\1\1\1\2\1\3\26\uffff}>";
18.3034 + static final String[] DFA13_transitionS = {
18.3035 + "\42\6\1\4\4\6\1\5\7\6\1\3\113\6\1\2\1\6\1\1\uff82\6",
18.3036 + "",
18.3037 + "",
18.3038 + "\52\6\1\10\4\6\1\7\uffd0\6",
18.3039 + "\42\24\1\20\4\24\1\23\7\24\1\22\54\24\1\16\36\24\1\21\1\24"+
18.3040 + "\1\17\uff82\24",
18.3041 + "\42\32\1\31\4\32\1\6\7\32\1\30\54\32\1\25\36\32\1\27\1\32\1"+
18.3042 + "\26\uff82\32",
18.3043 + "",
18.3044 + "",
18.3045 + "",
18.3046 + "",
18.3047 + "",
18.3048 + "",
18.3049 + "",
18.3050 + "",
18.3051 + "",
18.3052 + "",
18.3053 + "",
18.3054 + "",
18.3055 + "",
18.3056 + "",
18.3057 + "",
18.3058 + "",
18.3059 + "",
18.3060 + "",
18.3061 + "",
18.3062 + "",
18.3063 + "",
18.3064 + ""
18.3065 + };
18.3066 +
18.3067 + static final short[] DFA13_eot = DFA.unpackEncodedString(DFA13_eotS);
18.3068 + static final short[] DFA13_eof = DFA.unpackEncodedString(DFA13_eofS);
18.3069 + static final char[] DFA13_min = DFA.unpackEncodedStringToUnsignedChars(DFA13_minS);
18.3070 + static final char[] DFA13_max = DFA.unpackEncodedStringToUnsignedChars(DFA13_maxS);
18.3071 + static final short[] DFA13_accept = DFA.unpackEncodedString(DFA13_acceptS);
18.3072 + static final short[] DFA13_special = DFA.unpackEncodedString(DFA13_specialS);
18.3073 + static final short[][] DFA13_transition;
18.3074 +
18.3075 + static {
18.3076 + int numStates = DFA13_transitionS.length;
18.3077 + DFA13_transition = new short[numStates][];
18.3078 + for (int i=0; i<numStates; i++) {
18.3079 + DFA13_transition[i] = DFA.unpackEncodedString(DFA13_transitionS[i]);
18.3080 + }
18.3081 + }
18.3082 +
18.3083 + class DFA13 extends DFA {
18.3084 +
18.3085 + public DFA13(BaseRecognizer recognizer) {
18.3086 + this.recognizer = recognizer;
18.3087 + this.decisionNumber = 13;
18.3088 + this.eot = DFA13_eot;
18.3089 + this.eof = DFA13_eof;
18.3090 + this.min = DFA13_min;
18.3091 + this.max = DFA13_max;
18.3092 + this.accept = DFA13_accept;
18.3093 + this.special = DFA13_special;
18.3094 + this.transition = DFA13_transition;
18.3095 + }
18.3096 + public String getDescription() {
18.3097 + return "()* loopback of 541:2: ( options {greedy=false; k=2; } : NESTED_ACTION | SL_COMMENT | ML_COMMENT | ACTION_STRING_LITERAL | ACTION_CHAR_LITERAL | . )*";
18.3098 + }
18.3099 + public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
18.3100 + IntStream input = _input;
18.3101 + int _s = s;
18.3102 + switch ( s ) {
18.3103 + case 0 :
18.3104 + int LA13_0 = input.LA(1);
18.3105 +
18.3106 + s = -1;
18.3107 + if ( (LA13_0=='}') ) {s = 1;}
18.3108 +
18.3109 + else if ( (LA13_0=='{') ) {s = 2;}
18.3110 +
18.3111 + else if ( (LA13_0=='/') ) {s = 3;}
18.3112 +
18.3113 + else if ( (LA13_0=='\"') ) {s = 4;}
18.3114 +
18.3115 + else if ( (LA13_0=='\'') ) {s = 5;}
18.3116 +
18.3117 + else if ( ((LA13_0>='\u0000' && LA13_0<='!')||(LA13_0>='#' && LA13_0<='&')||(LA13_0>='(' && LA13_0<='.')||(LA13_0>='0' && LA13_0<='z')||LA13_0=='|'||(LA13_0>='~' && LA13_0<='\uFFFF')) ) {s = 6;}
18.3118 +
18.3119 + if ( s>=0 ) return s;
18.3120 + break;
18.3121 + case 1 :
18.3122 + int LA13_3 = input.LA(1);
18.3123 +
18.3124 + s = -1;
18.3125 + if ( (LA13_3=='/') ) {s = 7;}
18.3126 +
18.3127 + else if ( (LA13_3=='*') ) {s = 8;}
18.3128 +
18.3129 + else if ( ((LA13_3>='\u0000' && LA13_3<=')')||(LA13_3>='+' && LA13_3<='.')||(LA13_3>='0' && LA13_3<='\uFFFF')) ) {s = 6;}
18.3130 +
18.3131 + if ( s>=0 ) return s;
18.3132 + break;
18.3133 + case 2 :
18.3134 + int LA13_4 = input.LA(1);
18.3135 +
18.3136 + s = -1;
18.3137 + if ( (LA13_4=='\\') ) {s = 14;}
18.3138 +
18.3139 + else if ( (LA13_4=='}') ) {s = 15;}
18.3140 +
18.3141 + else if ( (LA13_4=='\"') ) {s = 16;}
18.3142 +
18.3143 + else if ( (LA13_4=='{') ) {s = 17;}
18.3144 +
18.3145 + else if ( (LA13_4=='/') ) {s = 18;}
18.3146 +
18.3147 + else if ( (LA13_4=='\'') ) {s = 19;}
18.3148 +
18.3149 + else if ( ((LA13_4>='\u0000' && LA13_4<='!')||(LA13_4>='#' && LA13_4<='&')||(LA13_4>='(' && LA13_4<='.')||(LA13_4>='0' && LA13_4<='[')||(LA13_4>=']' && LA13_4<='z')||LA13_4=='|'||(LA13_4>='~' && LA13_4<='\uFFFF')) ) {s = 20;}
18.3150 +
18.3151 + if ( s>=0 ) return s;
18.3152 + break;
18.3153 + case 3 :
18.3154 + int LA13_5 = input.LA(1);
18.3155 +
18.3156 + s = -1;
18.3157 + if ( (LA13_5=='\\') ) {s = 21;}
18.3158 +
18.3159 + else if ( (LA13_5=='}') ) {s = 22;}
18.3160 +
18.3161 + else if ( (LA13_5=='{') ) {s = 23;}
18.3162 +
18.3163 + else if ( (LA13_5=='/') ) {s = 24;}
18.3164 +
18.3165 + else if ( (LA13_5=='\"') ) {s = 25;}
18.3166 +
18.3167 + else if ( ((LA13_5>='\u0000' && LA13_5<='!')||(LA13_5>='#' && LA13_5<='&')||(LA13_5>='(' && LA13_5<='.')||(LA13_5>='0' && LA13_5<='[')||(LA13_5>=']' && LA13_5<='z')||LA13_5=='|'||(LA13_5>='~' && LA13_5<='\uFFFF')) ) {s = 26;}
18.3168 +
18.3169 + else if ( (LA13_5=='\'') ) {s = 6;}
18.3170 +
18.3171 + if ( s>=0 ) return s;
18.3172 + break;
18.3173 + }
18.3174 + NoViableAltException nvae =
18.3175 + new NoViableAltException(getDescription(), 13, _s, input);
18.3176 + error(nvae);
18.3177 + throw nvae;
18.3178 + }
18.3179 + }
18.3180 + static final String DFA22_eotS =
18.3181 + "\1\uffff\2\44\1\52\1\uffff\1\54\1\uffff\4\44\2\uffff\1\66\1\uffff"+
18.3182 + "\1\70\1\uffff\1\44\4\uffff\1\44\1\74\13\uffff\1\44\2\uffff\3\44"+
18.3183 + "\4\uffff\10\44\4\uffff\2\44\6\uffff\17\44\15\uffff\11\44\1\167\5"+
18.3184 + "\44\2\uffff\1\44\1\177\2\44\1\u0082\4\44\1\uffff\4\44\1\u008b\1"+
18.3185 + "\uffff\1\44\1\uffff\2\44\1\uffff\1\u0090\2\44\1\u0093\1\u0094\3"+
18.3186 + "\44\2\uffff\2\44\1\u009b\1\uffff\1\44\1\u009d\3\uffff\1\u009e\1"+
18.3187 + "\u009f\1\uffff\1\44\1\u00a1\1\uffff\1\44\5\uffff\1\u00a3\1\uffff";
18.3188 + static final String DFA22_eofS =
18.3189 + "\u00a4\uffff";
18.3190 + static final String DFA22_minS =
18.3191 + "\1\11\1\143\1\151\1\50\1\uffff\1\56\1\uffff\1\145\1\141\1\150\1"+
18.3192 + "\162\2\uffff\1\76\1\uffff\1\72\1\uffff\1\145\4\uffff\1\141\1\75"+
18.3193 + "\3\uffff\1\52\1\0\6\uffff\1\160\2\uffff\1\157\1\141\1\156\4\uffff"+
18.3194 + "\1\170\1\162\1\151\1\142\1\145\1\162\1\153\1\141\4\uffff\2\164\4"+
18.3195 + "\uffff\2\0\1\164\1\160\1\147\1\141\1\145\1\163\1\164\1\166\1\154"+
18.3196 + "\1\145\1\157\1\145\1\155\1\165\1\143\13\0\2\uffff\1\151\1\145\1"+
18.3197 + "\155\1\154\1\162\2\145\1\141\1\151\1\60\1\167\1\156\1\155\1\162"+
18.3198 + "\1\150\1\0\1\uffff\1\157\1\60\1\145\1\154\1\60\1\162\1\143\1\164"+
18.3199 + "\1\143\1\uffff\2\163\1\141\1\156\1\60\1\0\1\156\1\uffff\1\156\1"+
18.3200 + "\171\1\uffff\1\60\1\164\1\145\2\60\1\11\1\162\1\163\1\uffff\1\0"+
18.3201 + "\1\163\1\164\1\60\1\uffff\1\145\1\60\3\uffff\2\60\1\0\1\11\1\60"+
18.3202 + "\1\uffff\1\144\5\uffff\1\60\1\uffff";
18.3203 + static final String DFA22_maxS =
18.3204 + "\1\176\1\143\1\162\1\50\1\uffff\1\56\1\uffff\1\145\1\165\2\162\2"+
18.3205 + "\uffff\1\76\1\uffff\1\72\1\uffff\1\145\4\uffff\1\141\1\75\3\uffff"+
18.3206 + "\1\57\1\uffff\6\uffff\1\160\2\uffff\1\157\1\141\1\156\4\uffff\1"+
18.3207 + "\170\1\162\1\157\1\142\1\145\1\162\1\153\1\141\4\uffff\2\164\4\uffff"+
18.3208 + "\2\uffff\1\164\1\160\1\147\1\141\1\145\1\163\1\164\1\166\1\154\1"+
18.3209 + "\145\1\157\1\145\1\155\1\165\1\143\13\uffff\2\uffff\1\151\1\145"+
18.3210 + "\1\155\1\154\1\162\2\145\1\141\1\151\1\172\1\167\1\156\1\155\1\162"+
18.3211 + "\1\150\1\uffff\1\uffff\1\157\1\172\1\145\1\154\1\172\1\162\1\143"+
18.3212 + "\1\164\1\143\1\uffff\2\163\1\141\1\156\1\172\1\uffff\1\156\1\uffff"+
18.3213 + "\1\156\1\171\1\uffff\1\172\1\164\1\145\2\172\1\173\1\162\1\163\1"+
18.3214 + "\uffff\1\uffff\1\163\1\164\1\172\1\uffff\1\145\1\172\3\uffff\2\172"+
18.3215 + "\1\uffff\1\173\1\172\1\uffff\1\144\5\uffff\1\172\1\uffff";
18.3216 + static final String DFA22_acceptS =
18.3217 + "\4\uffff\1\5\1\uffff\1\7\4\uffff\1\14\1\15\1\uffff\1\17\1\uffff"+
18.3218 + "\1\21\1\uffff\1\30\1\31\1\32\1\33\2\uffff\1\40\1\41\1\44\2\uffff"+
18.3219 + "\1\51\1\52\1\53\1\54\1\55\1\56\1\uffff\1\57\1\62\3\uffff\1\3\1\4"+
18.3220 + "\1\6\1\43\10\uffff\1\37\1\16\1\20\1\26\2\uffff\1\36\1\42\1\45\1"+
18.3221 + "\46\34\uffff\1\47\1\50\20\uffff\1\47\11\uffff\1\12\7\uffff\1\1\2"+
18.3222 + "\uffff\1\10\10\uffff\1\34\4\uffff\1\11\2\uffff\1\23\1\27\1\61\5"+
18.3223 + "\uffff\1\35\1\uffff\1\24\1\13\1\25\1\60\1\2\1\uffff\1\22";
18.3224 + static final String DFA22_specialS =
18.3225 + "\34\uffff\1\4\42\uffff\1\0\1\5\17\uffff\1\3\1\2\1\1\1\16\1\14\1"+
18.3226 + "\21\1\20\1\12\1\11\1\7\1\6\21\uffff\1\13\20\uffff\1\15\16\uffff"+
18.3227 + "\1\17\13\uffff\1\10\13\uffff}>";
18.3228 + static final String[] DFA22_transitionS = {
18.3229 + "\2\45\2\uffff\1\45\22\uffff\1\45\1\4\1\35\1\uffff\1\32\2\uffff"+
18.3230 + "\1\34\1\23\1\25\1\20\1\27\1\22\1\6\1\5\1\33\12\37\1\17\1\13"+
18.3231 + "\1\36\1\15\1\uffff\1\31\1\16\32\42\1\40\2\uffff\1\3\2\uffff"+
18.3232 + "\2\44\1\26\2\44\1\2\1\12\4\44\1\7\2\44\1\43\1\10\1\44\1\21\1"+
18.3233 + "\1\1\11\6\44\1\41\1\24\1\14\1\30",
18.3234 + "\1\46",
18.3235 + "\1\50\10\uffff\1\47",
18.3236 + "\1\51",
18.3237 + "",
18.3238 + "\1\53",
18.3239 + "",
18.3240 + "\1\55",
18.3241 + "\1\56\20\uffff\1\57\2\uffff\1\60",
18.3242 + "\1\62\6\uffff\1\63\2\uffff\1\61",
18.3243 + "\1\64",
18.3244 + "",
18.3245 + "",
18.3246 + "\1\65",
18.3247 + "",
18.3248 + "\1\67",
18.3249 + "",
18.3250 + "\1\71",
18.3251 + "",
18.3252 + "",
18.3253 + "",
18.3254 + "",
18.3255 + "\1\72",
18.3256 + "\1\73",
18.3257 + "",
18.3258 + "",
18.3259 + "",
18.3260 + "\1\76\4\uffff\1\75",
18.3261 + "\47\100\1\uffff\64\100\1\77\uffa3\100",
18.3262 + "",
18.3263 + "",
18.3264 + "",
18.3265 + "",
18.3266 + "",
18.3267 + "",
18.3268 + "\1\101",
18.3269 + "",
18.3270 + "",
18.3271 + "\1\102",
18.3272 + "\1\103",
18.3273 + "\1\104",
18.3274 + "",
18.3275 + "",
18.3276 + "",
18.3277 + "",
18.3278 + "\1\105",
18.3279 + "\1\106",
18.3280 + "\1\110\5\uffff\1\107",
18.3281 + "\1\111",
18.3282 + "\1\112",
18.3283 + "\1\113",
18.3284 + "\1\114",
18.3285 + "\1\115",
18.3286 + "",
18.3287 + "",
18.3288 + "",
18.3289 + "",
18.3290 + "\1\116",
18.3291 + "\1\117",
18.3292 + "",
18.3293 + "",
18.3294 + "",
18.3295 + "",
18.3296 + "\42\132\1\125\4\132\1\126\26\132\1\130\35\132\1\127\5\132\1"+
18.3297 + "\123\3\132\1\124\7\132\1\120\3\132\1\121\1\132\1\122\1\131\uff8a"+
18.3298 + "\132",
18.3299 + "\47\134\1\133\uffd8\134",
18.3300 + "\1\135",
18.3301 + "\1\136",
18.3302 + "\1\137",
18.3303 + "\1\140",
18.3304 + "\1\141",
18.3305 + "\1\142",
18.3306 + "\1\143",
18.3307 + "\1\144",
18.3308 + "\1\145",
18.3309 + "\1\146",
18.3310 + "\1\147",
18.3311 + "\1\150",
18.3312 + "\1\151",
18.3313 + "\1\152",
18.3314 + "\1\153",
18.3315 + "\47\134\1\133\uffd8\134",
18.3316 + "\47\134\1\133\uffd8\134",
18.3317 + "\47\134\1\133\uffd8\134",
18.3318 + "\47\134\1\133\uffd8\134",
18.3319 + "\47\134\1\133\uffd8\134",
18.3320 + "\47\134\1\133\uffd8\134",
18.3321 + "\47\134\1\133\uffd8\134",
18.3322 + "\47\134\1\133\uffd8\134",
18.3323 + "\47\134\1\133\uffd8\134",
18.3324 + "\47\134\1\133\10\134\12\154\7\134\6\154\32\134\6\154\uff99"+
18.3325 + "\134",
18.3326 + "\47\134\1\133\uffd8\134",
18.3327 + "",
18.3328 + "",
18.3329 + "\1\156",
18.3330 + "\1\157",
18.3331 + "\1\160",
18.3332 + "\1\161",
18.3333 + "\1\162",
18.3334 + "\1\163",
18.3335 + "\1\164",
18.3336 + "\1\165",
18.3337 + "\1\166",
18.3338 + "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
18.3339 + "\1\170",
18.3340 + "\1\171",
18.3341 + "\1\172",
18.3342 + "\1\173",
18.3343 + "\1\174",
18.3344 + "\60\134\12\175\7\134\6\175\32\134\6\175\uff99\134",
18.3345 + "",
18.3346 + "\1\176",
18.3347 + "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
18.3348 + "\1\u0080",
18.3349 + "\1\u0081",
18.3350 + "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
18.3351 + "\1\u0083",
18.3352 + "\1\u0084",
18.3353 + "\1\u0085",
18.3354 + "\1\u0086",
18.3355 + "",
18.3356 + "\1\u0087",
18.3357 + "\1\u0088",
18.3358 + "\1\u0089",
18.3359 + "\1\u008a",
18.3360 + "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
18.3361 + "\60\134\12\u008c\7\134\6\u008c\32\134\6\u008c\uff99\134",
18.3362 + "\1\u008d",
18.3363 + "",
18.3364 + "\1\u008e",
18.3365 + "\1\u008f",
18.3366 + "",
18.3367 + "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
18.3368 + "\1\u0091",
18.3369 + "\1\u0092",
18.3370 + "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
18.3371 + "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
18.3372 + "\2\u0095\2\uffff\1\u0095\22\uffff\1\u0095\16\uffff\1\u0095"+
18.3373 + "\113\uffff\1\u0095",
18.3374 + "\1\u0096",
18.3375 + "\1\u0097",
18.3376 + "",
18.3377 + "\60\134\12\u0098\7\134\6\u0098\32\134\6\u0098\uff99\134",
18.3378 + "\1\u0099",
18.3379 + "\1\u009a",
18.3380 + "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
18.3381 + "",
18.3382 + "\1\u009c",
18.3383 + "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
18.3384 + "",
18.3385 + "",
18.3386 + "",
18.3387 + "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
18.3388 + "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
18.3389 + "\47\134\1\133\uffd8\134",
18.3390 + "\2\u00a0\2\uffff\1\u00a0\22\uffff\1\u00a0\16\uffff\1\u00a0"+
18.3391 + "\113\uffff\1\u00a0",
18.3392 + "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
18.3393 + "",
18.3394 + "\1\u00a2",
18.3395 + "",
18.3396 + "",
18.3397 + "",
18.3398 + "",
18.3399 + "",
18.3400 + "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
18.3401 + ""
18.3402 + };
18.3403 +
18.3404 + static final short[] DFA22_eot = DFA.unpackEncodedString(DFA22_eotS);
18.3405 + static final short[] DFA22_eof = DFA.unpackEncodedString(DFA22_eofS);
18.3406 + static final char[] DFA22_min = DFA.unpackEncodedStringToUnsignedChars(DFA22_minS);
18.3407 + static final char[] DFA22_max = DFA.unpackEncodedStringToUnsignedChars(DFA22_maxS);
18.3408 + static final short[] DFA22_accept = DFA.unpackEncodedString(DFA22_acceptS);
18.3409 + static final short[] DFA22_special = DFA.unpackEncodedString(DFA22_specialS);
18.3410 + static final short[][] DFA22_transition;
18.3411 +
18.3412 + static {
18.3413 + int numStates = DFA22_transitionS.length;
18.3414 + DFA22_transition = new short[numStates][];
18.3415 + for (int i=0; i<numStates; i++) {
18.3416 + DFA22_transition[i] = DFA.unpackEncodedString(DFA22_transitionS[i]);
18.3417 + }
18.3418 + }
18.3419 +
18.3420 + class DFA22 extends DFA {
18.3421 +
18.3422 + public DFA22(BaseRecognizer recognizer) {
18.3423 + this.recognizer = recognizer;
18.3424 + this.decisionNumber = 22;
18.3425 + this.eot = DFA22_eot;
18.3426 + this.eof = DFA22_eof;
18.3427 + this.min = DFA22_min;
18.3428 + this.max = DFA22_max;
18.3429 + this.accept = DFA22_accept;
18.3430 + this.special = DFA22_special;
18.3431 + this.transition = DFA22_transition;
18.3432 + }
18.3433 + public String getDescription() {
18.3434 + return "1:1: Tokens : ( SCOPE | FRAGMENT | TREE_BEGIN | ROOT | BANG | RANGE | REWRITE | T__65 | T__66 | T__67 | T__68 | T__69 | T__70 | T__71 | T__72 | T__73 | T__74 | T__75 | T__76 | T__77 | T__78 | T__79 | T__80 | T__81 | T__82 | T__83 | T__84 | T__85 | T__86 | T__87 | T__88 | T__89 | T__90 | T__91 | T__92 | T__93 | SL_COMMENT | ML_COMMENT | CHAR_LITERAL | STRING_LITERAL | DOUBLE_QUOTE_STRING_LITERAL | DOUBLE_ANGLE_STRING_LITERAL | INT | ARG_ACTION | ACTION | TOKEN_REF | RULE_REF | OPTIONS | TOKENS | WS );";
18.3435 + }
18.3436 + public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
18.3437 + IntStream input = _input;
18.3438 + int _s = s;
18.3439 + switch ( s ) {
18.3440 + case 0 :
18.3441 + int LA22_63 = input.LA(1);
18.3442 +
18.3443 + s = -1;
18.3444 + if ( (LA22_63=='n') ) {s = 80;}
18.3445 +
18.3446 + else if ( (LA22_63=='r') ) {s = 81;}
18.3447 +
18.3448 + else if ( (LA22_63=='t') ) {s = 82;}
18.3449 +
18.3450 + else if ( (LA22_63=='b') ) {s = 83;}
18.3451 +
18.3452 + else if ( (LA22_63=='f') ) {s = 84;}
18.3453 +
18.3454 + else if ( (LA22_63=='\"') ) {s = 85;}
18.3455 +
18.3456 + else if ( (LA22_63=='\'') ) {s = 86;}
18.3457 +
18.3458 + else if ( (LA22_63=='\\') ) {s = 87;}
18.3459 +
18.3460 + else if ( (LA22_63=='>') ) {s = 88;}
18.3461 +
18.3462 + else if ( (LA22_63=='u') ) {s = 89;}
18.3463 +
18.3464 + else if ( ((LA22_63>='\u0000' && LA22_63<='!')||(LA22_63>='#' && LA22_63<='&')||(LA22_63>='(' && LA22_63<='=')||(LA22_63>='?' && LA22_63<='[')||(LA22_63>=']' && LA22_63<='a')||(LA22_63>='c' && LA22_63<='e')||(LA22_63>='g' && LA22_63<='m')||(LA22_63>='o' && LA22_63<='q')||LA22_63=='s'||(LA22_63>='v' && LA22_63<='\uFFFF')) ) {s = 90;}
18.3465 +
18.3466 + if ( s>=0 ) return s;
18.3467 + break;
18.3468 + case 1 :
18.3469 + int LA22_82 = input.LA(1);
18.3470 +
18.3471 + s = -1;
18.3472 + if ( (LA22_82=='\'') ) {s = 91;}
18.3473 +
18.3474 + else if ( ((LA22_82>='\u0000' && LA22_82<='&')||(LA22_82>='(' && LA22_82<='\uFFFF')) ) {s = 92;}
18.3475 +
18.3476 + if ( s>=0 ) return s;
18.3477 + break;
18.3478 + case 2 :
18.3479 + int LA22_81 = input.LA(1);
18.3480 +
18.3481 + s = -1;
18.3482 + if ( (LA22_81=='\'') ) {s = 91;}
18.3483 +
18.3484 + else if ( ((LA22_81>='\u0000' && LA22_81<='&')||(LA22_81>='(' && LA22_81<='\uFFFF')) ) {s = 92;}
18.3485 +
18.3486 + if ( s>=0 ) return s;
18.3487 + break;
18.3488 + case 3 :
18.3489 + int LA22_80 = input.LA(1);
18.3490 +
18.3491 + s = -1;
18.3492 + if ( (LA22_80=='\'') ) {s = 91;}
18.3493 +
18.3494 + else if ( ((LA22_80>='\u0000' && LA22_80<='&')||(LA22_80>='(' && LA22_80<='\uFFFF')) ) {s = 92;}
18.3495 +
18.3496 + if ( s>=0 ) return s;
18.3497 + break;
18.3498 + case 4 :
18.3499 + int LA22_28 = input.LA(1);
18.3500 +
18.3501 + s = -1;
18.3502 + if ( (LA22_28=='\\') ) {s = 63;}
18.3503 +
18.3504 + else if ( ((LA22_28>='\u0000' && LA22_28<='&')||(LA22_28>='(' && LA22_28<='[')||(LA22_28>=']' && LA22_28<='\uFFFF')) ) {s = 64;}
18.3505 +
18.3506 + if ( s>=0 ) return s;
18.3507 + break;
18.3508 + case 5 :
18.3509 + int LA22_64 = input.LA(1);
18.3510 +
18.3511 + s = -1;
18.3512 + if ( (LA22_64=='\'') ) {s = 91;}
18.3513 +
18.3514 + else if ( ((LA22_64>='\u0000' && LA22_64<='&')||(LA22_64>='(' && LA22_64<='\uFFFF')) ) {s = 92;}
18.3515 +
18.3516 + if ( s>=0 ) return s;
18.3517 + break;
18.3518 + case 6 :
18.3519 + int LA22_90 = input.LA(1);
18.3520 +
18.3521 + s = -1;
18.3522 + if ( (LA22_90=='\'') ) {s = 91;}
18.3523 +
18.3524 + else if ( ((LA22_90>='\u0000' && LA22_90<='&')||(LA22_90>='(' && LA22_90<='\uFFFF')) ) {s = 92;}
18.3525 +
18.3526 + if ( s>=0 ) return s;
18.3527 + break;
18.3528 + case 7 :
18.3529 + int LA22_89 = input.LA(1);
18.3530 +
18.3531 + s = -1;
18.3532 + if ( ((LA22_89>='0' && LA22_89<='9')||(LA22_89>='A' && LA22_89<='F')||(LA22_89>='a' && LA22_89<='f')) ) {s = 108;}
18.3533 +
18.3534 + else if ( (LA22_89=='\'') ) {s = 91;}
18.3535 +
18.3536 + else if ( ((LA22_89>='\u0000' && LA22_89<='&')||(LA22_89>='(' && LA22_89<='/')||(LA22_89>=':' && LA22_89<='@')||(LA22_89>='G' && LA22_89<='`')||(LA22_89>='g' && LA22_89<='\uFFFF')) ) {s = 92;}
18.3537 +
18.3538 + if ( s>=0 ) return s;
18.3539 + break;
18.3540 + case 8 :
18.3541 + int LA22_152 = input.LA(1);
18.3542 +
18.3543 + s = -1;
18.3544 + if ( (LA22_152=='\'') ) {s = 91;}
18.3545 +
18.3546 + else if ( ((LA22_152>='\u0000' && LA22_152<='&')||(LA22_152>='(' && LA22_152<='\uFFFF')) ) {s = 92;}
18.3547 +
18.3548 + if ( s>=0 ) return s;
18.3549 + break;
18.3550 + case 9 :
18.3551 + int LA22_88 = input.LA(1);
18.3552 +
18.3553 + s = -1;
18.3554 + if ( (LA22_88=='\'') ) {s = 91;}
18.3555 +
18.3556 + else if ( ((LA22_88>='\u0000' && LA22_88<='&')||(LA22_88>='(' && LA22_88<='\uFFFF')) ) {s = 92;}
18.3557 +
18.3558 + if ( s>=0 ) return s;
18.3559 + break;
18.3560 + case 10 :
18.3561 + int LA22_87 = input.LA(1);
18.3562 +
18.3563 + s = -1;
18.3564 + if ( (LA22_87=='\'') ) {s = 91;}
18.3565 +
18.3566 + else if ( ((LA22_87>='\u0000' && LA22_87<='&')||(LA22_87>='(' && LA22_87<='\uFFFF')) ) {s = 92;}
18.3567 +
18.3568 + if ( s>=0 ) return s;
18.3569 + break;
18.3570 + case 11 :
18.3571 + int LA22_108 = input.LA(1);
18.3572 +
18.3573 + s = -1;
18.3574 + if ( ((LA22_108>='0' && LA22_108<='9')||(LA22_108>='A' && LA22_108<='F')||(LA22_108>='a' && LA22_108<='f')) ) {s = 125;}
18.3575 +
18.3576 + else if ( ((LA22_108>='\u0000' && LA22_108<='/')||(LA22_108>=':' && LA22_108<='@')||(LA22_108>='G' && LA22_108<='`')||(LA22_108>='g' && LA22_108<='\uFFFF')) ) {s = 92;}
18.3577 +
18.3578 + if ( s>=0 ) return s;
18.3579 + break;
18.3580 + case 12 :
18.3581 + int LA22_84 = input.LA(1);
18.3582 +
18.3583 + s = -1;
18.3584 + if ( (LA22_84=='\'') ) {s = 91;}
18.3585 +
18.3586 + else if ( ((LA22_84>='\u0000' && LA22_84<='&')||(LA22_84>='(' && LA22_84<='\uFFFF')) ) {s = 92;}
18.3587 +
18.3588 + if ( s>=0 ) return s;
18.3589 + break;
18.3590 + case 13 :
18.3591 + int LA22_125 = input.LA(1);
18.3592 +
18.3593 + s = -1;
18.3594 + if ( ((LA22_125>='0' && LA22_125<='9')||(LA22_125>='A' && LA22_125<='F')||(LA22_125>='a' && LA22_125<='f')) ) {s = 140;}
18.3595 +
18.3596 + else if ( ((LA22_125>='\u0000' && LA22_125<='/')||(LA22_125>=':' && LA22_125<='@')||(LA22_125>='G' && LA22_125<='`')||(LA22_125>='g' && LA22_125<='\uFFFF')) ) {s = 92;}
18.3597 +
18.3598 + if ( s>=0 ) return s;
18.3599 + break;
18.3600 + case 14 :
18.3601 + int LA22_83 = input.LA(1);
18.3602 +
18.3603 + s = -1;
18.3604 + if ( (LA22_83=='\'') ) {s = 91;}
18.3605 +
18.3606 + else if ( ((LA22_83>='\u0000' && LA22_83<='&')||(LA22_83>='(' && LA22_83<='\uFFFF')) ) {s = 92;}
18.3607 +
18.3608 + if ( s>=0 ) return s;
18.3609 + break;
18.3610 + case 15 :
18.3611 + int LA22_140 = input.LA(1);
18.3612 +
18.3613 + s = -1;
18.3614 + if ( ((LA22_140>='0' && LA22_140<='9')||(LA22_140>='A' && LA22_140<='F')||(LA22_140>='a' && LA22_140<='f')) ) {s = 152;}
18.3615 +
18.3616 + else if ( ((LA22_140>='\u0000' && LA22_140<='/')||(LA22_140>=':' && LA22_140<='@')||(LA22_140>='G' && LA22_140<='`')||(LA22_140>='g' && LA22_140<='\uFFFF')) ) {s = 92;}
18.3617 +
18.3618 + if ( s>=0 ) return s;
18.3619 + break;
18.3620 + case 16 :
18.3621 + int LA22_86 = input.LA(1);
18.3622 +
18.3623 + s = -1;
18.3624 + if ( (LA22_86=='\'') ) {s = 91;}
18.3625 +
18.3626 + else if ( ((LA22_86>='\u0000' && LA22_86<='&')||(LA22_86>='(' && LA22_86<='\uFFFF')) ) {s = 92;}
18.3627 +
18.3628 + if ( s>=0 ) return s;
18.3629 + break;
18.3630 + case 17 :
18.3631 + int LA22_85 = input.LA(1);
18.3632 +
18.3633 + s = -1;
18.3634 + if ( (LA22_85=='\'') ) {s = 91;}
18.3635 +
18.3636 + else if ( ((LA22_85>='\u0000' && LA22_85<='&')||(LA22_85>='(' && LA22_85<='\uFFFF')) ) {s = 92;}
18.3637 +
18.3638 + if ( s>=0 ) return s;
18.3639 + break;
18.3640 + }
18.3641 + NoViableAltException nvae =
18.3642 + new NoViableAltException(getDescription(), 22, _s, input);
18.3643 + error(nvae);
18.3644 + throw nvae;
18.3645 + }
18.3646 + }
18.3647 +
18.3648 +
18.3649 +}
18.3650 \ No newline at end of file
19.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
19.2 +++ b/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/gen/ANTLRv3Parser.java Fri Jan 11 15:06:14 2013 +0100
19.3 @@ -0,0 +1,10935 @@
19.4 +// $ANTLR 3.3 Nov 30, 2010 12:50:56 /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g 2013-01-11 15:01:26
19.5 +
19.6 +package org.netbeans.antlr.editor.gen;
19.7 +
19.8 +
19.9 +import org.antlr.runtime.*;
19.10 +import java.util.Stack;
19.11 +import java.util.List;
19.12 +import java.util.ArrayList;
19.13 +import java.util.Map;
19.14 +import java.util.HashMap;
19.15 +import org.antlr.runtime.debug.*;
19.16 +import java.io.IOException;
19.17 +
19.18 +import org.antlr.runtime.tree.*;
19.19 +
19.20 +/** ANTLR v3 grammar written in ANTLR v3 with AST construction */
19.21 +public class ANTLRv3Parser extends DebugParser {
19.22 + public static final String[] tokenNames = new String[] {
19.23 + "<invalid>", "<EOR>", "<DOWN>", "<UP>", "DOC_COMMENT", "PARSER", "LEXER", "RULE", "BLOCK", "OPTIONAL", "CLOSURE", "POSITIVE_CLOSURE", "SYNPRED", "RANGE", "CHAR_RANGE", "EPSILON", "ALT", "EOR", "EOB", "EOA", "ID", "ARG", "ARGLIST", "RET", "LEXER_GRAMMAR", "PARSER_GRAMMAR", "TREE_GRAMMAR", "COMBINED_GRAMMAR", "INITACTION", "LABEL", "TEMPLATE", "SCOPE", "SEMPRED", "GATED_SEMPRED", "SYN_SEMPRED", "BACKTRACK_SEMPRED", "FRAGMENT", "TREE_BEGIN", "ROOT", "BANG", "REWRITE", "TOKENS", "TOKEN_REF", "STRING_LITERAL", "CHAR_LITERAL", "ACTION", "OPTIONS", "INT", "ARG_ACTION", "RULE_REF", "DOUBLE_QUOTE_STRING_LITERAL", "DOUBLE_ANGLE_STRING_LITERAL", "SRC", "SL_COMMENT", "ML_COMMENT", "LITERAL_CHAR", "ESC", "XDIGIT", "NESTED_ARG_ACTION", "ACTION_STRING_LITERAL", "ACTION_CHAR_LITERAL", "NESTED_ACTION", "ACTION_ESC", "WS_LOOP", "WS", "'lexer'", "'parser'", "'tree'", "'grammar'", "';'", "'}'", "'='", "'@'", "'::'", "'*'", "'protected'", "'public'", "'private'", "'returns'", "':'", "'throws'", "','", "'('", "'|'", "')'", "'catch'", "'finally'", "'+='", "'=>'", "'~'", "'?'", "'+'", "'.'", "'$'"
19.24 + };
19.25 + public static final int EOF=-1;
19.26 + public static final int T__65=65;
19.27 + public static final int T__66=66;
19.28 + public static final int T__67=67;
19.29 + public static final int T__68=68;
19.30 + public static final int T__69=69;
19.31 + public static final int T__70=70;
19.32 + public static final int T__71=71;
19.33 + public static final int T__72=72;
19.34 + public static final int T__73=73;
19.35 + public static final int T__74=74;
19.36 + public static final int T__75=75;
19.37 + public static final int T__76=76;
19.38 + public static final int T__77=77;
19.39 + public static final int T__78=78;
19.40 + public static final int T__79=79;
19.41 + public static final int T__80=80;
19.42 + public static final int T__81=81;
19.43 + public static final int T__82=82;
19.44 + public static final int T__83=83;
19.45 + public static final int T__84=84;
19.46 + public static final int T__85=85;
19.47 + public static final int T__86=86;
19.48 + public static final int T__87=87;
19.49 + public static final int T__88=88;
19.50 + public static final int T__89=89;
19.51 + public static final int T__90=90;
19.52 + public static final int T__91=91;
19.53 + public static final int T__92=92;
19.54 + public static final int T__93=93;
19.55 + public static final int DOC_COMMENT=4;
19.56 + public static final int PARSER=5;
19.57 + public static final int LEXER=6;
19.58 + public static final int RULE=7;
19.59 + public static final int BLOCK=8;
19.60 + public static final int OPTIONAL=9;
19.61 + public static final int CLOSURE=10;
19.62 + public static final int POSITIVE_CLOSURE=11;
19.63 + public static final int SYNPRED=12;
19.64 + public static final int RANGE=13;
19.65 + public static final int CHAR_RANGE=14;
19.66 + public static final int EPSILON=15;
19.67 + public static final int ALT=16;
19.68 + public static final int EOR=17;
19.69 + public static final int EOB=18;
19.70 + public static final int EOA=19;
19.71 + public static final int ID=20;
19.72 + public static final int ARG=21;
19.73 + public static final int ARGLIST=22;
19.74 + public static final int RET=23;
19.75 + public static final int LEXER_GRAMMAR=24;
19.76 + public static final int PARSER_GRAMMAR=25;
19.77 + public static final int TREE_GRAMMAR=26;
19.78 + public static final int COMBINED_GRAMMAR=27;
19.79 + public static final int INITACTION=28;
19.80 + public static final int LABEL=29;
19.81 + public static final int TEMPLATE=30;
19.82 + public static final int SCOPE=31;
19.83 + public static final int SEMPRED=32;
19.84 + public static final int GATED_SEMPRED=33;
19.85 + public static final int SYN_SEMPRED=34;
19.86 + public static final int BACKTRACK_SEMPRED=35;
19.87 + public static final int FRAGMENT=36;
19.88 + public static final int TREE_BEGIN=37;
19.89 + public static final int ROOT=38;
19.90 + public static final int BANG=39;
19.91 + public static final int REWRITE=40;
19.92 + public static final int TOKENS=41;
19.93 + public static final int TOKEN_REF=42;
19.94 + public static final int STRING_LITERAL=43;
19.95 + public static final int CHAR_LITERAL=44;
19.96 + public static final int ACTION=45;
19.97 + public static final int OPTIONS=46;
19.98 + public static final int INT=47;
19.99 + public static final int ARG_ACTION=48;
19.100 + public static final int RULE_REF=49;
19.101 + public static final int DOUBLE_QUOTE_STRING_LITERAL=50;
19.102 + public static final int DOUBLE_ANGLE_STRING_LITERAL=51;
19.103 + public static final int SRC=52;
19.104 + public static final int SL_COMMENT=53;
19.105 + public static final int ML_COMMENT=54;
19.106 + public static final int LITERAL_CHAR=55;
19.107 + public static final int ESC=56;
19.108 + public static final int XDIGIT=57;
19.109 + public static final int NESTED_ARG_ACTION=58;
19.110 + public static final int ACTION_STRING_LITERAL=59;
19.111 + public static final int ACTION_CHAR_LITERAL=60;
19.112 + public static final int NESTED_ACTION=61;
19.113 + public static final int ACTION_ESC=62;
19.114 + public static final int WS_LOOP=63;
19.115 + public static final int WS=64;
19.116 +
19.117 + // delegates
19.118 + // delegators
19.119 +
19.120 + public static final String[] ruleNames = new String[] {
19.121 + "invalidRule", "elementNoOptionSpec", "ruleAction", "synpred2_ANTLRv3",
19.122 + "rewrite_tree_ebnf", "id", "rule", "treeSpec", "rewrite_template",
19.123 + "tokensSpec", "ebnfSuffix", "alternative", "notTerminal", "terminal",
19.124 + "ruleScopeSpec", "notSet", "range", "ebnf", "rewrite_alternative",
19.125 + "rewrite_template_ref", "rewrite_tree_block", "option", "exceptionHandler",
19.126 + "synpred1_ANTLRv3", "rewrite_template_args", "throwsSpec", "actionScopeName",
19.127 + "finallyClause", "rewrite_tree_element", "rewrite_tree_alternative",
19.128 + "optionsSpec", "rewrite_template_arg", "tokenSpec", "attrScope",
19.129 + "altList", "exceptionGroup", "atom", "rewrite_tree", "element",
19.130 + "rewrite_tree_atom", "rewrite_indirect_template_head", "grammarDef",
19.131 + "block", "rewrite", "optionValue", "action"
19.132 + };
19.133 + public static final boolean[] decisionCanBacktrack = new boolean[] {
19.134 + false, // invalid decision
19.135 + false, false, false, false, false, false, false, false, false, false,
19.136 + false, false, false, false, false, false, false, false, false,
19.137 + false, false, false, false, false, false, false, false, false,
19.138 + false, false, false, false, false, false, false, false, false,
19.139 + false, false, false, false, false, false, false, false, false,
19.140 + false, false, false, false, false, false, false, false, false,
19.141 + false, false, false, false, false, false, false, false, true,
19.142 + false, false, false, false, false, false, false, false, false,
19.143 + false, false
19.144 + };
19.145 +
19.146 +
19.147 + public int ruleLevel = 0;
19.148 + public int getRuleLevel() { return ruleLevel; }
19.149 + public void incRuleLevel() { ruleLevel++; }
19.150 + public void decRuleLevel() { ruleLevel--; }
19.151 + public ANTLRv3Parser(TokenStream input) {
19.152 + this(input, DebugEventSocketProxy.DEFAULT_DEBUGGER_PORT, new RecognizerSharedState());
19.153 + }
19.154 + public ANTLRv3Parser(TokenStream input, int port, RecognizerSharedState state) {
19.155 + super(input, state);
19.156 + DebugEventSocketProxy proxy =
19.157 + new DebugEventSocketProxy(this,port,adaptor);
19.158 + setDebugListener(proxy);
19.159 + setTokenStream(new DebugTokenStream(input,proxy));
19.160 + try {
19.161 + proxy.handshake();
19.162 + }
19.163 + catch (IOException ioe) {
19.164 + reportError(ioe);
19.165 + }
19.166 + TreeAdaptor adap = new CommonTreeAdaptor();
19.167 + setTreeAdaptor(adap);
19.168 + proxy.setTreeAdaptor(adap);
19.169 + }
19.170 + public ANTLRv3Parser(TokenStream input, DebugEventListener dbg) {
19.171 + super(input, dbg);
19.172 +
19.173 +
19.174 + TreeAdaptor adap = new CommonTreeAdaptor();
19.175 + setTreeAdaptor(adap);
19.176 +
19.177 + }
19.178 + protected boolean evalPredicate(boolean result, String predicate) {
19.179 + dbg.semanticPredicate(result, predicate);
19.180 + return result;
19.181 + }
19.182 +
19.183 + protected DebugTreeAdaptor adaptor;
19.184 + public void setTreeAdaptor(TreeAdaptor adaptor) {
19.185 + this.adaptor = new DebugTreeAdaptor(dbg,adaptor);
19.186 +
19.187 + }
19.188 + public TreeAdaptor getTreeAdaptor() {
19.189 + return adaptor;
19.190 + }
19.191 +
19.192 +
19.193 + public String[] getTokenNames() { return ANTLRv3Parser.tokenNames; }
19.194 + public String getGrammarFileName() { return "/Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g"; }
19.195 +
19.196 +
19.197 + int gtype;
19.198 +
19.199 +
19.200 + public static class grammarDef_return extends ParserRuleReturnScope {
19.201 + CommonTree tree;
19.202 + public Object getTree() { return tree; }
19.203 + };
19.204 +
19.205 + // $ANTLR start "grammarDef"
19.206 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:89:1: grammarDef : ( DOC_COMMENT )? ( 'lexer' | 'parser' | 'tree' | ) g= 'grammar' id ';' ( optionsSpec )? ( tokensSpec )? ( attrScope )* ( action )* ( rule )+ EOF -> ^( id ( DOC_COMMENT )? ( optionsSpec )? ( tokensSpec )? ( attrScope )* ( action )* ( rule )+ ) ;
19.207 + public final ANTLRv3Parser.grammarDef_return grammarDef() throws RecognitionException {
19.208 + ANTLRv3Parser.grammarDef_return retval = new ANTLRv3Parser.grammarDef_return();
19.209 + retval.start = input.LT(1);
19.210 +
19.211 + CommonTree root_0 = null;
19.212 +
19.213 + Token g=null;
19.214 + Token DOC_COMMENT1=null;
19.215 + Token string_literal2=null;
19.216 + Token string_literal3=null;
19.217 + Token string_literal4=null;
19.218 + Token char_literal6=null;
19.219 + Token EOF12=null;
19.220 + ANTLRv3Parser.id_return id5 = null;
19.221 +
19.222 + ANTLRv3Parser.optionsSpec_return optionsSpec7 = null;
19.223 +
19.224 + ANTLRv3Parser.tokensSpec_return tokensSpec8 = null;
19.225 +
19.226 + ANTLRv3Parser.attrScope_return attrScope9 = null;
19.227 +
19.228 + ANTLRv3Parser.action_return action10 = null;
19.229 +
19.230 + ANTLRv3Parser.rule_return rule11 = null;
19.231 +
19.232 +
19.233 + CommonTree g_tree=null;
19.234 + CommonTree DOC_COMMENT1_tree=null;
19.235 + CommonTree string_literal2_tree=null;
19.236 + CommonTree string_literal3_tree=null;
19.237 + CommonTree string_literal4_tree=null;
19.238 + CommonTree char_literal6_tree=null;
19.239 + CommonTree EOF12_tree=null;
19.240 + RewriteRuleTokenStream stream_67=new RewriteRuleTokenStream(adaptor,"token 67");
19.241 + RewriteRuleTokenStream stream_DOC_COMMENT=new RewriteRuleTokenStream(adaptor,"token DOC_COMMENT");
19.242 + RewriteRuleTokenStream stream_66=new RewriteRuleTokenStream(adaptor,"token 66");
19.243 + RewriteRuleTokenStream stream_69=new RewriteRuleTokenStream(adaptor,"token 69");
19.244 + RewriteRuleTokenStream stream_68=new RewriteRuleTokenStream(adaptor,"token 68");
19.245 + RewriteRuleTokenStream stream_65=new RewriteRuleTokenStream(adaptor,"token 65");
19.246 + RewriteRuleTokenStream stream_EOF=new RewriteRuleTokenStream(adaptor,"token EOF");
19.247 + RewriteRuleSubtreeStream stream_id=new RewriteRuleSubtreeStream(adaptor,"rule id");
19.248 + RewriteRuleSubtreeStream stream_tokensSpec=new RewriteRuleSubtreeStream(adaptor,"rule tokensSpec");
19.249 + RewriteRuleSubtreeStream stream_attrScope=new RewriteRuleSubtreeStream(adaptor,"rule attrScope");
19.250 + RewriteRuleSubtreeStream stream_rule=new RewriteRuleSubtreeStream(adaptor,"rule rule");
19.251 + RewriteRuleSubtreeStream stream_action=new RewriteRuleSubtreeStream(adaptor,"rule action");
19.252 + RewriteRuleSubtreeStream stream_optionsSpec=new RewriteRuleSubtreeStream(adaptor,"rule optionsSpec");
19.253 + try { dbg.enterRule(getGrammarFileName(), "grammarDef");
19.254 + if ( getRuleLevel()==0 ) {dbg.commence();}
19.255 + incRuleLevel();
19.256 + dbg.location(89, 1);
19.257 +
19.258 + try {
19.259 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:90:5: ( ( DOC_COMMENT )? ( 'lexer' | 'parser' | 'tree' | ) g= 'grammar' id ';' ( optionsSpec )? ( tokensSpec )? ( attrScope )* ( action )* ( rule )+ EOF -> ^( id ( DOC_COMMENT )? ( optionsSpec )? ( tokensSpec )? ( attrScope )* ( action )* ( rule )+ ) )
19.260 + dbg.enterAlt(1);
19.261 +
19.262 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:90:9: ( DOC_COMMENT )? ( 'lexer' | 'parser' | 'tree' | ) g= 'grammar' id ';' ( optionsSpec )? ( tokensSpec )? ( attrScope )* ( action )* ( rule )+ EOF
19.263 + {
19.264 + dbg.location(90,9);
19.265 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:90:9: ( DOC_COMMENT )?
19.266 + int alt1=2;
19.267 + try { dbg.enterSubRule(1);
19.268 + try { dbg.enterDecision(1, decisionCanBacktrack[1]);
19.269 +
19.270 + int LA1_0 = input.LA(1);
19.271 +
19.272 + if ( (LA1_0==DOC_COMMENT) ) {
19.273 + alt1=1;
19.274 + }
19.275 + } finally {dbg.exitDecision(1);}
19.276 +
19.277 + switch (alt1) {
19.278 + case 1 :
19.279 + dbg.enterAlt(1);
19.280 +
19.281 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:90:9: DOC_COMMENT
19.282 + {
19.283 + dbg.location(90,9);
19.284 + DOC_COMMENT1=(Token)match(input,DOC_COMMENT,FOLLOW_DOC_COMMENT_in_grammarDef343); if (state.failed) return retval;
19.285 + if ( state.backtracking==0 ) stream_DOC_COMMENT.add(DOC_COMMENT1);
19.286 +
19.287 +
19.288 + }
19.289 + break;
19.290 +
19.291 + }
19.292 + } finally {dbg.exitSubRule(1);}
19.293 +
19.294 + dbg.location(91,6);
19.295 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:91:6: ( 'lexer' | 'parser' | 'tree' | )
19.296 + int alt2=4;
19.297 + try { dbg.enterSubRule(2);
19.298 + try { dbg.enterDecision(2, decisionCanBacktrack[2]);
19.299 +
19.300 + switch ( input.LA(1) ) {
19.301 + case 65:
19.302 + {
19.303 + alt2=1;
19.304 + }
19.305 + break;
19.306 + case 66:
19.307 + {
19.308 + alt2=2;
19.309 + }
19.310 + break;
19.311 + case 67:
19.312 + {
19.313 + alt2=3;
19.314 + }
19.315 + break;
19.316 + case 68:
19.317 + {
19.318 + alt2=4;
19.319 + }
19.320 + break;
19.321 + default:
19.322 + if (state.backtracking>0) {state.failed=true; return retval;}
19.323 + NoViableAltException nvae =
19.324 + new NoViableAltException("", 2, 0, input);
19.325 +
19.326 + dbg.recognitionException(nvae);
19.327 + throw nvae;
19.328 + }
19.329 +
19.330 + } finally {dbg.exitDecision(2);}
19.331 +
19.332 + switch (alt2) {
19.333 + case 1 :
19.334 + dbg.enterAlt(1);
19.335 +
19.336 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:91:8: 'lexer'
19.337 + {
19.338 + dbg.location(91,8);
19.339 + string_literal2=(Token)match(input,65,FOLLOW_65_in_grammarDef353); if (state.failed) return retval;
19.340 + if ( state.backtracking==0 ) stream_65.add(string_literal2);
19.341 +
19.342 + dbg.location(91,17);
19.343 + if ( state.backtracking==0 ) {
19.344 + gtype=LEXER_GRAMMAR;
19.345 + }
19.346 +
19.347 + }
19.348 + break;
19.349 + case 2 :
19.350 + dbg.enterAlt(2);
19.351 +
19.352 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:92:10: 'parser'
19.353 + {
19.354 + dbg.location(92,10);
19.355 + string_literal3=(Token)match(input,66,FOLLOW_66_in_grammarDef371); if (state.failed) return retval;
19.356 + if ( state.backtracking==0 ) stream_66.add(string_literal3);
19.357 +
19.358 + dbg.location(92,19);
19.359 + if ( state.backtracking==0 ) {
19.360 + gtype=PARSER_GRAMMAR;
19.361 + }
19.362 +
19.363 + }
19.364 + break;
19.365 + case 3 :
19.366 + dbg.enterAlt(3);
19.367 +
19.368 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:93:10: 'tree'
19.369 + {
19.370 + dbg.location(93,10);
19.371 + string_literal4=(Token)match(input,67,FOLLOW_67_in_grammarDef387); if (state.failed) return retval;
19.372 + if ( state.backtracking==0 ) stream_67.add(string_literal4);
19.373 +
19.374 + dbg.location(93,19);
19.375 + if ( state.backtracking==0 ) {
19.376 + gtype=TREE_GRAMMAR;
19.377 + }
19.378 +
19.379 + }
19.380 + break;
19.381 + case 4 :
19.382 + dbg.enterAlt(4);
19.383 +
19.384 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:94:14:
19.385 + {
19.386 + dbg.location(94,14);
19.387 + if ( state.backtracking==0 ) {
19.388 + gtype=COMBINED_GRAMMAR;
19.389 + }
19.390 +
19.391 + }
19.392 + break;
19.393 +
19.394 + }
19.395 + } finally {dbg.exitSubRule(2);}
19.396 +
19.397 + dbg.location(96,7);
19.398 + g=(Token)match(input,68,FOLLOW_68_in_grammarDef428); if (state.failed) return retval;
19.399 + if ( state.backtracking==0 ) stream_68.add(g);
19.400 +
19.401 + dbg.location(96,18);
19.402 + pushFollow(FOLLOW_id_in_grammarDef430);
19.403 + id5=id();
19.404 +
19.405 + state._fsp--;
19.406 + if (state.failed) return retval;
19.407 + if ( state.backtracking==0 ) stream_id.add(id5.getTree());
19.408 + dbg.location(96,21);
19.409 + char_literal6=(Token)match(input,69,FOLLOW_69_in_grammarDef432); if (state.failed) return retval;
19.410 + if ( state.backtracking==0 ) stream_69.add(char_literal6);
19.411 +
19.412 + dbg.location(96,25);
19.413 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:96:25: ( optionsSpec )?
19.414 + int alt3=2;
19.415 + try { dbg.enterSubRule(3);
19.416 + try { dbg.enterDecision(3, decisionCanBacktrack[3]);
19.417 +
19.418 + int LA3_0 = input.LA(1);
19.419 +
19.420 + if ( (LA3_0==OPTIONS) ) {
19.421 + alt3=1;
19.422 + }
19.423 + } finally {dbg.exitDecision(3);}
19.424 +
19.425 + switch (alt3) {
19.426 + case 1 :
19.427 + dbg.enterAlt(1);
19.428 +
19.429 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:96:25: optionsSpec
19.430 + {
19.431 + dbg.location(96,25);
19.432 + pushFollow(FOLLOW_optionsSpec_in_grammarDef434);
19.433 + optionsSpec7=optionsSpec();
19.434 +
19.435 + state._fsp--;
19.436 + if (state.failed) return retval;
19.437 + if ( state.backtracking==0 ) stream_optionsSpec.add(optionsSpec7.getTree());
19.438 +
19.439 + }
19.440 + break;
19.441 +
19.442 + }
19.443 + } finally {dbg.exitSubRule(3);}
19.444 +
19.445 + dbg.location(96,38);
19.446 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:96:38: ( tokensSpec )?
19.447 + int alt4=2;
19.448 + try { dbg.enterSubRule(4);
19.449 + try { dbg.enterDecision(4, decisionCanBacktrack[4]);
19.450 +
19.451 + int LA4_0 = input.LA(1);
19.452 +
19.453 + if ( (LA4_0==TOKENS) ) {
19.454 + alt4=1;
19.455 + }
19.456 + } finally {dbg.exitDecision(4);}
19.457 +
19.458 + switch (alt4) {
19.459 + case 1 :
19.460 + dbg.enterAlt(1);
19.461 +
19.462 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:96:38: tokensSpec
19.463 + {
19.464 + dbg.location(96,38);
19.465 + pushFollow(FOLLOW_tokensSpec_in_grammarDef437);
19.466 + tokensSpec8=tokensSpec();
19.467 +
19.468 + state._fsp--;
19.469 + if (state.failed) return retval;
19.470 + if ( state.backtracking==0 ) stream_tokensSpec.add(tokensSpec8.getTree());
19.471 +
19.472 + }
19.473 + break;
19.474 +
19.475 + }
19.476 + } finally {dbg.exitSubRule(4);}
19.477 +
19.478 + dbg.location(96,50);
19.479 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:96:50: ( attrScope )*
19.480 + try { dbg.enterSubRule(5);
19.481 +
19.482 + loop5:
19.483 + do {
19.484 + int alt5=2;
19.485 + try { dbg.enterDecision(5, decisionCanBacktrack[5]);
19.486 +
19.487 + int LA5_0 = input.LA(1);
19.488 +
19.489 + if ( (LA5_0==SCOPE) ) {
19.490 + alt5=1;
19.491 + }
19.492 +
19.493 +
19.494 + } finally {dbg.exitDecision(5);}
19.495 +
19.496 + switch (alt5) {
19.497 + case 1 :
19.498 + dbg.enterAlt(1);
19.499 +
19.500 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:96:50: attrScope
19.501 + {
19.502 + dbg.location(96,50);
19.503 + pushFollow(FOLLOW_attrScope_in_grammarDef440);
19.504 + attrScope9=attrScope();
19.505 +
19.506 + state._fsp--;
19.507 + if (state.failed) return retval;
19.508 + if ( state.backtracking==0 ) stream_attrScope.add(attrScope9.getTree());
19.509 +
19.510 + }
19.511 + break;
19.512 +
19.513 + default :
19.514 + break loop5;
19.515 + }
19.516 + } while (true);
19.517 + } finally {dbg.exitSubRule(5);}
19.518 +
19.519 + dbg.location(96,61);
19.520 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:96:61: ( action )*
19.521 + try { dbg.enterSubRule(6);
19.522 +
19.523 + loop6:
19.524 + do {
19.525 + int alt6=2;
19.526 + try { dbg.enterDecision(6, decisionCanBacktrack[6]);
19.527 +
19.528 + int LA6_0 = input.LA(1);
19.529 +
19.530 + if ( (LA6_0==72) ) {
19.531 + alt6=1;
19.532 + }
19.533 +
19.534 +
19.535 + } finally {dbg.exitDecision(6);}
19.536 +
19.537 + switch (alt6) {
19.538 + case 1 :
19.539 + dbg.enterAlt(1);
19.540 +
19.541 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:96:61: action
19.542 + {
19.543 + dbg.location(96,61);
19.544 + pushFollow(FOLLOW_action_in_grammarDef443);
19.545 + action10=action();
19.546 +
19.547 + state._fsp--;
19.548 + if (state.failed) return retval;
19.549 + if ( state.backtracking==0 ) stream_action.add(action10.getTree());
19.550 +
19.551 + }
19.552 + break;
19.553 +
19.554 + default :
19.555 + break loop6;
19.556 + }
19.557 + } while (true);
19.558 + } finally {dbg.exitSubRule(6);}
19.559 +
19.560 + dbg.location(97,6);
19.561 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:97:6: ( rule )+
19.562 + int cnt7=0;
19.563 + try { dbg.enterSubRule(7);
19.564 +
19.565 + loop7:
19.566 + do {
19.567 + int alt7=2;
19.568 + try { dbg.enterDecision(7, decisionCanBacktrack[7]);
19.569 +
19.570 + int LA7_0 = input.LA(1);
19.571 +
19.572 + if ( (LA7_0==DOC_COMMENT||LA7_0==FRAGMENT||LA7_0==TOKEN_REF||LA7_0==RULE_REF||(LA7_0>=75 && LA7_0<=77)) ) {
19.573 + alt7=1;
19.574 + }
19.575 +
19.576 +
19.577 + } finally {dbg.exitDecision(7);}
19.578 +
19.579 + switch (alt7) {
19.580 + case 1 :
19.581 + dbg.enterAlt(1);
19.582 +
19.583 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:97:6: rule
19.584 + {
19.585 + dbg.location(97,6);
19.586 + pushFollow(FOLLOW_rule_in_grammarDef451);
19.587 + rule11=rule();
19.588 +
19.589 + state._fsp--;
19.590 + if (state.failed) return retval;
19.591 + if ( state.backtracking==0 ) stream_rule.add(rule11.getTree());
19.592 +
19.593 + }
19.594 + break;
19.595 +
19.596 + default :
19.597 + if ( cnt7 >= 1 ) break loop7;
19.598 + if (state.backtracking>0) {state.failed=true; return retval;}
19.599 + EarlyExitException eee =
19.600 + new EarlyExitException(7, input);
19.601 + dbg.recognitionException(eee);
19.602 +
19.603 + throw eee;
19.604 + }
19.605 + cnt7++;
19.606 + } while (true);
19.607 + } finally {dbg.exitSubRule(7);}
19.608 +
19.609 + dbg.location(98,6);
19.610 + EOF12=(Token)match(input,EOF,FOLLOW_EOF_in_grammarDef459); if (state.failed) return retval;
19.611 + if ( state.backtracking==0 ) stream_EOF.add(EOF12);
19.612 +
19.613 +
19.614 +
19.615 + // AST REWRITE
19.616 + // elements: tokensSpec, DOC_COMMENT, rule, action, optionsSpec, id, attrScope
19.617 + // token labels:
19.618 + // rule labels: retval
19.619 + // token list labels:
19.620 + // rule list labels:
19.621 + // wildcard labels:
19.622 + if ( state.backtracking==0 ) {
19.623 + retval.tree = root_0;
19.624 + RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);
19.625 +
19.626 + root_0 = (CommonTree)adaptor.nil();
19.627 + // 99:6: -> ^( id ( DOC_COMMENT )? ( optionsSpec )? ( tokensSpec )? ( attrScope )* ( action )* ( rule )+ )
19.628 + {
19.629 + dbg.location(99,9);
19.630 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:99:9: ^( id ( DOC_COMMENT )? ( optionsSpec )? ( tokensSpec )? ( attrScope )* ( action )* ( rule )+ )
19.631 + {
19.632 + CommonTree root_1 = (CommonTree)adaptor.nil();
19.633 + dbg.location(99,12);
19.634 + root_1 = (CommonTree)adaptor.becomeRoot(adaptor.create(gtype,g), root_1);
19.635 +
19.636 + dbg.location(100,9);
19.637 + adaptor.addChild(root_1, stream_id.nextTree());
19.638 + dbg.location(100,12);
19.639 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:100:12: ( DOC_COMMENT )?
19.640 + if ( stream_DOC_COMMENT.hasNext() ) {
19.641 + dbg.location(100,12);
19.642 + adaptor.addChild(root_1, stream_DOC_COMMENT.nextNode());
19.643 +
19.644 + }
19.645 + stream_DOC_COMMENT.reset();
19.646 + dbg.location(100,25);
19.647 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:100:25: ( optionsSpec )?
19.648 + if ( stream_optionsSpec.hasNext() ) {
19.649 + dbg.location(100,25);
19.650 + adaptor.addChild(root_1, stream_optionsSpec.nextTree());
19.651 +
19.652 + }
19.653 + stream_optionsSpec.reset();
19.654 + dbg.location(100,38);
19.655 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:100:38: ( tokensSpec )?
19.656 + if ( stream_tokensSpec.hasNext() ) {
19.657 + dbg.location(100,38);
19.658 + adaptor.addChild(root_1, stream_tokensSpec.nextTree());
19.659 +
19.660 + }
19.661 + stream_tokensSpec.reset();
19.662 + dbg.location(100,50);
19.663 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:100:50: ( attrScope )*
19.664 + while ( stream_attrScope.hasNext() ) {
19.665 + dbg.location(100,50);
19.666 + adaptor.addChild(root_1, stream_attrScope.nextTree());
19.667 +
19.668 + }
19.669 + stream_attrScope.reset();
19.670 + dbg.location(100,61);
19.671 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:100:61: ( action )*
19.672 + while ( stream_action.hasNext() ) {
19.673 + dbg.location(100,61);
19.674 + adaptor.addChild(root_1, stream_action.nextTree());
19.675 +
19.676 + }
19.677 + stream_action.reset();
19.678 + dbg.location(100,69);
19.679 + if ( !(stream_rule.hasNext()) ) {
19.680 + throw new RewriteEarlyExitException();
19.681 + }
19.682 + while ( stream_rule.hasNext() ) {
19.683 + dbg.location(100,69);
19.684 + adaptor.addChild(root_1, stream_rule.nextTree());
19.685 +
19.686 + }
19.687 + stream_rule.reset();
19.688 +
19.689 + adaptor.addChild(root_0, root_1);
19.690 + }
19.691 +
19.692 + }
19.693 +
19.694 + retval.tree = root_0;}
19.695 + }
19.696 +
19.697 + retval.stop = input.LT(-1);
19.698 +
19.699 + if ( state.backtracking==0 ) {
19.700 +
19.701 + retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
19.702 + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
19.703 + }
19.704 + }
19.705 + catch (RecognitionException re) {
19.706 + reportError(re);
19.707 + recover(input,re);
19.708 + retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re);
19.709 +
19.710 + }
19.711 + finally {
19.712 + }
19.713 + dbg.location(102, 5);
19.714 +
19.715 + }
19.716 + finally {
19.717 + dbg.exitRule(getGrammarFileName(), "grammarDef");
19.718 + decRuleLevel();
19.719 + if ( getRuleLevel()==0 ) {dbg.terminate();}
19.720 + }
19.721 +
19.722 + return retval;
19.723 + }
19.724 + // $ANTLR end "grammarDef"
19.725 +
19.726 + public static class tokensSpec_return extends ParserRuleReturnScope {
19.727 + CommonTree tree;
19.728 + public Object getTree() { return tree; }
19.729 + };
19.730 +
19.731 + // $ANTLR start "tokensSpec"
19.732 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:104:1: tokensSpec : TOKENS ( tokenSpec )+ '}' -> ^( TOKENS ( tokenSpec )+ ) ;
19.733 + public final ANTLRv3Parser.tokensSpec_return tokensSpec() throws RecognitionException {
19.734 + ANTLRv3Parser.tokensSpec_return retval = new ANTLRv3Parser.tokensSpec_return();
19.735 + retval.start = input.LT(1);
19.736 +
19.737 + CommonTree root_0 = null;
19.738 +
19.739 + Token TOKENS13=null;
19.740 + Token char_literal15=null;
19.741 + ANTLRv3Parser.tokenSpec_return tokenSpec14 = null;
19.742 +
19.743 +
19.744 + CommonTree TOKENS13_tree=null;
19.745 + CommonTree char_literal15_tree=null;
19.746 + RewriteRuleTokenStream stream_TOKENS=new RewriteRuleTokenStream(adaptor,"token TOKENS");
19.747 + RewriteRuleTokenStream stream_70=new RewriteRuleTokenStream(adaptor,"token 70");
19.748 + RewriteRuleSubtreeStream stream_tokenSpec=new RewriteRuleSubtreeStream(adaptor,"rule tokenSpec");
19.749 + try { dbg.enterRule(getGrammarFileName(), "tokensSpec");
19.750 + if ( getRuleLevel()==0 ) {dbg.commence();}
19.751 + incRuleLevel();
19.752 + dbg.location(104, 1);
19.753 +
19.754 + try {
19.755 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:105:2: ( TOKENS ( tokenSpec )+ '}' -> ^( TOKENS ( tokenSpec )+ ) )
19.756 + dbg.enterAlt(1);
19.757 +
19.758 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:105:4: TOKENS ( tokenSpec )+ '}'
19.759 + {
19.760 + dbg.location(105,4);
19.761 + TOKENS13=(Token)match(input,TOKENS,FOLLOW_TOKENS_in_tokensSpec520); if (state.failed) return retval;
19.762 + if ( state.backtracking==0 ) stream_TOKENS.add(TOKENS13);
19.763 +
19.764 + dbg.location(105,11);
19.765 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:105:11: ( tokenSpec )+
19.766 + int cnt8=0;
19.767 + try { dbg.enterSubRule(8);
19.768 +
19.769 + loop8:
19.770 + do {
19.771 + int alt8=2;
19.772 + try { dbg.enterDecision(8, decisionCanBacktrack[8]);
19.773 +
19.774 + int LA8_0 = input.LA(1);
19.775 +
19.776 + if ( (LA8_0==TOKEN_REF) ) {
19.777 + alt8=1;
19.778 + }
19.779 +
19.780 +
19.781 + } finally {dbg.exitDecision(8);}
19.782 +
19.783 + switch (alt8) {
19.784 + case 1 :
19.785 + dbg.enterAlt(1);
19.786 +
19.787 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:105:11: tokenSpec
19.788 + {
19.789 + dbg.location(105,11);
19.790 + pushFollow(FOLLOW_tokenSpec_in_tokensSpec522);
19.791 + tokenSpec14=tokenSpec();
19.792 +
19.793 + state._fsp--;
19.794 + if (state.failed) return retval;
19.795 + if ( state.backtracking==0 ) stream_tokenSpec.add(tokenSpec14.getTree());
19.796 +
19.797 + }
19.798 + break;
19.799 +
19.800 + default :
19.801 + if ( cnt8 >= 1 ) break loop8;
19.802 + if (state.backtracking>0) {state.failed=true; return retval;}
19.803 + EarlyExitException eee =
19.804 + new EarlyExitException(8, input);
19.805 + dbg.recognitionException(eee);
19.806 +
19.807 + throw eee;
19.808 + }
19.809 + cnt8++;
19.810 + } while (true);
19.811 + } finally {dbg.exitSubRule(8);}
19.812 +
19.813 + dbg.location(105,22);
19.814 + char_literal15=(Token)match(input,70,FOLLOW_70_in_tokensSpec525); if (state.failed) return retval;
19.815 + if ( state.backtracking==0 ) stream_70.add(char_literal15);
19.816 +
19.817 +
19.818 +
19.819 + // AST REWRITE
19.820 + // elements: tokenSpec, TOKENS
19.821 + // token labels:
19.822 + // rule labels: retval
19.823 + // token list labels:
19.824 + // rule list labels:
19.825 + // wildcard labels:
19.826 + if ( state.backtracking==0 ) {
19.827 + retval.tree = root_0;
19.828 + RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);
19.829 +
19.830 + root_0 = (CommonTree)adaptor.nil();
19.831 + // 105:26: -> ^( TOKENS ( tokenSpec )+ )
19.832 + {
19.833 + dbg.location(105,29);
19.834 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:105:29: ^( TOKENS ( tokenSpec )+ )
19.835 + {
19.836 + CommonTree root_1 = (CommonTree)adaptor.nil();
19.837 + dbg.location(105,31);
19.838 + root_1 = (CommonTree)adaptor.becomeRoot(stream_TOKENS.nextNode(), root_1);
19.839 +
19.840 + dbg.location(105,38);
19.841 + if ( !(stream_tokenSpec.hasNext()) ) {
19.842 + throw new RewriteEarlyExitException();
19.843 + }
19.844 + while ( stream_tokenSpec.hasNext() ) {
19.845 + dbg.location(105,38);
19.846 + adaptor.addChild(root_1, stream_tokenSpec.nextTree());
19.847 +
19.848 + }
19.849 + stream_tokenSpec.reset();
19.850 +
19.851 + adaptor.addChild(root_0, root_1);
19.852 + }
19.853 +
19.854 + }
19.855 +
19.856 + retval.tree = root_0;}
19.857 + }
19.858 +
19.859 + retval.stop = input.LT(-1);
19.860 +
19.861 + if ( state.backtracking==0 ) {
19.862 +
19.863 + retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
19.864 + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
19.865 + }
19.866 + }
19.867 + catch (RecognitionException re) {
19.868 + reportError(re);
19.869 + recover(input,re);
19.870 + retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re);
19.871 +
19.872 + }
19.873 + finally {
19.874 + }
19.875 + dbg.location(106, 2);
19.876 +
19.877 + }
19.878 + finally {
19.879 + dbg.exitRule(getGrammarFileName(), "tokensSpec");
19.880 + decRuleLevel();
19.881 + if ( getRuleLevel()==0 ) {dbg.terminate();}
19.882 + }
19.883 +
19.884 + return retval;
19.885 + }
19.886 + // $ANTLR end "tokensSpec"
19.887 +
19.888 + public static class tokenSpec_return extends ParserRuleReturnScope {
19.889 + CommonTree tree;
19.890 + public Object getTree() { return tree; }
19.891 + };
19.892 +
19.893 + // $ANTLR start "tokenSpec"
19.894 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:108:1: tokenSpec : TOKEN_REF ( '=' (lit= STRING_LITERAL | lit= CHAR_LITERAL ) -> ^( '=' TOKEN_REF $lit) | -> TOKEN_REF ) ';' ;
19.895 + public final ANTLRv3Parser.tokenSpec_return tokenSpec() throws RecognitionException {
19.896 + ANTLRv3Parser.tokenSpec_return retval = new ANTLRv3Parser.tokenSpec_return();
19.897 + retval.start = input.LT(1);
19.898 +
19.899 + CommonTree root_0 = null;
19.900 +
19.901 + Token lit=null;
19.902 + Token TOKEN_REF16=null;
19.903 + Token char_literal17=null;
19.904 + Token char_literal18=null;
19.905 +
19.906 + CommonTree lit_tree=null;
19.907 + CommonTree TOKEN_REF16_tree=null;
19.908 + CommonTree char_literal17_tree=null;
19.909 + CommonTree char_literal18_tree=null;
19.910 + RewriteRuleTokenStream stream_69=new RewriteRuleTokenStream(adaptor,"token 69");
19.911 + RewriteRuleTokenStream stream_STRING_LITERAL=new RewriteRuleTokenStream(adaptor,"token STRING_LITERAL");
19.912 + RewriteRuleTokenStream stream_CHAR_LITERAL=new RewriteRuleTokenStream(adaptor,"token CHAR_LITERAL");
19.913 + RewriteRuleTokenStream stream_71=new RewriteRuleTokenStream(adaptor,"token 71");
19.914 + RewriteRuleTokenStream stream_TOKEN_REF=new RewriteRuleTokenStream(adaptor,"token TOKEN_REF");
19.915 +
19.916 + try { dbg.enterRule(getGrammarFileName(), "tokenSpec");
19.917 + if ( getRuleLevel()==0 ) {dbg.commence();}
19.918 + incRuleLevel();
19.919 + dbg.location(108, 1);
19.920 +
19.921 + try {
19.922 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:109:2: ( TOKEN_REF ( '=' (lit= STRING_LITERAL | lit= CHAR_LITERAL ) -> ^( '=' TOKEN_REF $lit) | -> TOKEN_REF ) ';' )
19.923 + dbg.enterAlt(1);
19.924 +
19.925 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:109:4: TOKEN_REF ( '=' (lit= STRING_LITERAL | lit= CHAR_LITERAL ) -> ^( '=' TOKEN_REF $lit) | -> TOKEN_REF ) ';'
19.926 + {
19.927 + dbg.location(109,4);
19.928 + TOKEN_REF16=(Token)match(input,TOKEN_REF,FOLLOW_TOKEN_REF_in_tokenSpec545); if (state.failed) return retval;
19.929 + if ( state.backtracking==0 ) stream_TOKEN_REF.add(TOKEN_REF16);
19.930 +
19.931 + dbg.location(110,3);
19.932 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:110:3: ( '=' (lit= STRING_LITERAL | lit= CHAR_LITERAL ) -> ^( '=' TOKEN_REF $lit) | -> TOKEN_REF )
19.933 + int alt10=2;
19.934 + try { dbg.enterSubRule(10);
19.935 + try { dbg.enterDecision(10, decisionCanBacktrack[10]);
19.936 +
19.937 + int LA10_0 = input.LA(1);
19.938 +
19.939 + if ( (LA10_0==71) ) {
19.940 + alt10=1;
19.941 + }
19.942 + else if ( (LA10_0==69) ) {
19.943 + alt10=2;
19.944 + }
19.945 + else {
19.946 + if (state.backtracking>0) {state.failed=true; return retval;}
19.947 + NoViableAltException nvae =
19.948 + new NoViableAltException("", 10, 0, input);
19.949 +
19.950 + dbg.recognitionException(nvae);
19.951 + throw nvae;
19.952 + }
19.953 + } finally {dbg.exitDecision(10);}
19.954 +
19.955 + switch (alt10) {
19.956 + case 1 :
19.957 + dbg.enterAlt(1);
19.958 +
19.959 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:110:5: '=' (lit= STRING_LITERAL | lit= CHAR_LITERAL )
19.960 + {
19.961 + dbg.location(110,5);
19.962 + char_literal17=(Token)match(input,71,FOLLOW_71_in_tokenSpec551); if (state.failed) return retval;
19.963 + if ( state.backtracking==0 ) stream_71.add(char_literal17);
19.964 +
19.965 + dbg.location(110,9);
19.966 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:110:9: (lit= STRING_LITERAL | lit= CHAR_LITERAL )
19.967 + int alt9=2;
19.968 + try { dbg.enterSubRule(9);
19.969 + try { dbg.enterDecision(9, decisionCanBacktrack[9]);
19.970 +
19.971 + int LA9_0 = input.LA(1);
19.972 +
19.973 + if ( (LA9_0==STRING_LITERAL) ) {
19.974 + alt9=1;
19.975 + }
19.976 + else if ( (LA9_0==CHAR_LITERAL) ) {
19.977 + alt9=2;
19.978 + }
19.979 + else {
19.980 + if (state.backtracking>0) {state.failed=true; return retval;}
19.981 + NoViableAltException nvae =
19.982 + new NoViableAltException("", 9, 0, input);
19.983 +
19.984 + dbg.recognitionException(nvae);
19.985 + throw nvae;
19.986 + }
19.987 + } finally {dbg.exitDecision(9);}
19.988 +
19.989 + switch (alt9) {
19.990 + case 1 :
19.991 + dbg.enterAlt(1);
19.992 +
19.993 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:110:10: lit= STRING_LITERAL
19.994 + {
19.995 + dbg.location(110,13);
19.996 + lit=(Token)match(input,STRING_LITERAL,FOLLOW_STRING_LITERAL_in_tokenSpec556); if (state.failed) return retval;
19.997 + if ( state.backtracking==0 ) stream_STRING_LITERAL.add(lit);
19.998 +
19.999 +
19.1000 + }
19.1001 + break;
19.1002 + case 2 :
19.1003 + dbg.enterAlt(2);
19.1004 +
19.1005 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:110:29: lit= CHAR_LITERAL
19.1006 + {
19.1007 + dbg.location(110,32);
19.1008 + lit=(Token)match(input,CHAR_LITERAL,FOLLOW_CHAR_LITERAL_in_tokenSpec560); if (state.failed) return retval;
19.1009 + if ( state.backtracking==0 ) stream_CHAR_LITERAL.add(lit);
19.1010 +
19.1011 +
19.1012 + }
19.1013 + break;
19.1014 +
19.1015 + }
19.1016 + } finally {dbg.exitSubRule(9);}
19.1017 +
19.1018 +
19.1019 +
19.1020 + // AST REWRITE
19.1021 + // elements: lit, TOKEN_REF, 71
19.1022 + // token labels: lit
19.1023 + // rule labels: retval
19.1024 + // token list labels:
19.1025 + // rule list labels:
19.1026 + // wildcard labels:
19.1027 + if ( state.backtracking==0 ) {
19.1028 + retval.tree = root_0;
19.1029 + RewriteRuleTokenStream stream_lit=new RewriteRuleTokenStream(adaptor,"token lit",lit);
19.1030 + RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);
19.1031 +
19.1032 + root_0 = (CommonTree)adaptor.nil();
19.1033 + // 110:47: -> ^( '=' TOKEN_REF $lit)
19.1034 + {
19.1035 + dbg.location(110,50);
19.1036 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:110:50: ^( '=' TOKEN_REF $lit)
19.1037 + {
19.1038 + CommonTree root_1 = (CommonTree)adaptor.nil();
19.1039 + dbg.location(110,52);
19.1040 + root_1 = (CommonTree)adaptor.becomeRoot(stream_71.nextNode(), root_1);
19.1041 +
19.1042 + dbg.location(110,56);
19.1043 + adaptor.addChild(root_1, stream_TOKEN_REF.nextNode());
19.1044 + dbg.location(110,66);
19.1045 + adaptor.addChild(root_1, stream_lit.nextNode());
19.1046 +
19.1047 + adaptor.addChild(root_0, root_1);
19.1048 + }
19.1049 +
19.1050 + }
19.1051 +
19.1052 + retval.tree = root_0;}
19.1053 + }
19.1054 + break;
19.1055 + case 2 :
19.1056 + dbg.enterAlt(2);
19.1057 +
19.1058 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:111:16:
19.1059 + {
19.1060 +
19.1061 + // AST REWRITE
19.1062 + // elements: TOKEN_REF
19.1063 + // token labels:
19.1064 + // rule labels: retval
19.1065 + // token list labels:
19.1066 + // rule list labels:
19.1067 + // wildcard labels:
19.1068 + if ( state.backtracking==0 ) {
19.1069 + retval.tree = root_0;
19.1070 + RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);
19.1071 +
19.1072 + root_0 = (CommonTree)adaptor.nil();
19.1073 + // 111:16: -> TOKEN_REF
19.1074 + {
19.1075 + dbg.location(111,19);
19.1076 + adaptor.addChild(root_0, stream_TOKEN_REF.nextNode());
19.1077 +
19.1078 + }
19.1079 +
19.1080 + retval.tree = root_0;}
19.1081 + }
19.1082 + break;
19.1083 +
19.1084 + }
19.1085 + } finally {dbg.exitSubRule(10);}
19.1086 +
19.1087 + dbg.location(113,3);
19.1088 + char_literal18=(Token)match(input,69,FOLLOW_69_in_tokenSpec599); if (state.failed) return retval;
19.1089 + if ( state.backtracking==0 ) stream_69.add(char_literal18);
19.1090 +
19.1091 +
19.1092 + }
19.1093 +
19.1094 + retval.stop = input.LT(-1);
19.1095 +
19.1096 + if ( state.backtracking==0 ) {
19.1097 +
19.1098 + retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
19.1099 + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
19.1100 + }
19.1101 + }
19.1102 + catch (RecognitionException re) {
19.1103 + reportError(re);
19.1104 + recover(input,re);
19.1105 + retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re);
19.1106 +
19.1107 + }
19.1108 + finally {
19.1109 + }
19.1110 + dbg.location(114, 2);
19.1111 +
19.1112 + }
19.1113 + finally {
19.1114 + dbg.exitRule(getGrammarFileName(), "tokenSpec");
19.1115 + decRuleLevel();
19.1116 + if ( getRuleLevel()==0 ) {dbg.terminate();}
19.1117 + }
19.1118 +
19.1119 + return retval;
19.1120 + }
19.1121 + // $ANTLR end "tokenSpec"
19.1122 +
19.1123 + public static class attrScope_return extends ParserRuleReturnScope {
19.1124 + CommonTree tree;
19.1125 + public Object getTree() { return tree; }
19.1126 + };
19.1127 +
19.1128 + // $ANTLR start "attrScope"
19.1129 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:116:1: attrScope : 'scope' id ACTION -> ^( 'scope' id ACTION ) ;
19.1130 + public final ANTLRv3Parser.attrScope_return attrScope() throws RecognitionException {
19.1131 + ANTLRv3Parser.attrScope_return retval = new ANTLRv3Parser.attrScope_return();
19.1132 + retval.start = input.LT(1);
19.1133 +
19.1134 + CommonTree root_0 = null;
19.1135 +
19.1136 + Token string_literal19=null;
19.1137 + Token ACTION21=null;
19.1138 + ANTLRv3Parser.id_return id20 = null;
19.1139 +
19.1140 +
19.1141 + CommonTree string_literal19_tree=null;
19.1142 + CommonTree ACTION21_tree=null;
19.1143 + RewriteRuleTokenStream stream_SCOPE=new RewriteRuleTokenStream(adaptor,"token SCOPE");
19.1144 + RewriteRuleTokenStream stream_ACTION=new RewriteRuleTokenStream(adaptor,"token ACTION");
19.1145 + RewriteRuleSubtreeStream stream_id=new RewriteRuleSubtreeStream(adaptor,"rule id");
19.1146 + try { dbg.enterRule(getGrammarFileName(), "attrScope");
19.1147 + if ( getRuleLevel()==0 ) {dbg.commence();}
19.1148 + incRuleLevel();
19.1149 + dbg.location(116, 1);
19.1150 +
19.1151 + try {
19.1152 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:117:2: ( 'scope' id ACTION -> ^( 'scope' id ACTION ) )
19.1153 + dbg.enterAlt(1);
19.1154 +
19.1155 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:117:4: 'scope' id ACTION
19.1156 + {
19.1157 + dbg.location(117,4);
19.1158 + string_literal19=(Token)match(input,SCOPE,FOLLOW_SCOPE_in_attrScope610); if (state.failed) return retval;
19.1159 + if ( state.backtracking==0 ) stream_SCOPE.add(string_literal19);
19.1160 +
19.1161 + dbg.location(117,12);
19.1162 + pushFollow(FOLLOW_id_in_attrScope612);
19.1163 + id20=id();
19.1164 +
19.1165 + state._fsp--;
19.1166 + if (state.failed) return retval;
19.1167 + if ( state.backtracking==0 ) stream_id.add(id20.getTree());
19.1168 + dbg.location(117,15);
19.1169 + ACTION21=(Token)match(input,ACTION,FOLLOW_ACTION_in_attrScope614); if (state.failed) return retval;
19.1170 + if ( state.backtracking==0 ) stream_ACTION.add(ACTION21);
19.1171 +
19.1172 +
19.1173 +
19.1174 + // AST REWRITE
19.1175 + // elements: ACTION, SCOPE, id
19.1176 + // token labels:
19.1177 + // rule labels: retval
19.1178 + // token list labels:
19.1179 + // rule list labels:
19.1180 + // wildcard labels:
19.1181 + if ( state.backtracking==0 ) {
19.1182 + retval.tree = root_0;
19.1183 + RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);
19.1184 +
19.1185 + root_0 = (CommonTree)adaptor.nil();
19.1186 + // 117:22: -> ^( 'scope' id ACTION )
19.1187 + {
19.1188 + dbg.location(117,25);
19.1189 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:117:25: ^( 'scope' id ACTION )
19.1190 + {
19.1191 + CommonTree root_1 = (CommonTree)adaptor.nil();
19.1192 + dbg.location(117,27);
19.1193 + root_1 = (CommonTree)adaptor.becomeRoot(stream_SCOPE.nextNode(), root_1);
19.1194 +
19.1195 + dbg.location(117,35);
19.1196 + adaptor.addChild(root_1, stream_id.nextTree());
19.1197 + dbg.location(117,38);
19.1198 + adaptor.addChild(root_1, stream_ACTION.nextNode());
19.1199 +
19.1200 + adaptor.addChild(root_0, root_1);
19.1201 + }
19.1202 +
19.1203 + }
19.1204 +
19.1205 + retval.tree = root_0;}
19.1206 + }
19.1207 +
19.1208 + retval.stop = input.LT(-1);
19.1209 +
19.1210 + if ( state.backtracking==0 ) {
19.1211 +
19.1212 + retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
19.1213 + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
19.1214 + }
19.1215 + }
19.1216 + catch (RecognitionException re) {
19.1217 + reportError(re);
19.1218 + recover(input,re);
19.1219 + retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re);
19.1220 +
19.1221 + }
19.1222 + finally {
19.1223 + }
19.1224 + dbg.location(118, 2);
19.1225 +
19.1226 + }
19.1227 + finally {
19.1228 + dbg.exitRule(getGrammarFileName(), "attrScope");
19.1229 + decRuleLevel();
19.1230 + if ( getRuleLevel()==0 ) {dbg.terminate();}
19.1231 + }
19.1232 +
19.1233 + return retval;
19.1234 + }
19.1235 + // $ANTLR end "attrScope"
19.1236 +
19.1237 + public static class action_return extends ParserRuleReturnScope {
19.1238 + CommonTree tree;
19.1239 + public Object getTree() { return tree; }
19.1240 + };
19.1241 +
19.1242 + // $ANTLR start "action"
19.1243 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:120:1: action : '@' ( actionScopeName '::' )? id ACTION -> ^( '@' ( actionScopeName )? id ACTION ) ;
19.1244 + public final ANTLRv3Parser.action_return action() throws RecognitionException {
19.1245 + ANTLRv3Parser.action_return retval = new ANTLRv3Parser.action_return();
19.1246 + retval.start = input.LT(1);
19.1247 +
19.1248 + CommonTree root_0 = null;
19.1249 +
19.1250 + Token char_literal22=null;
19.1251 + Token string_literal24=null;
19.1252 + Token ACTION26=null;
19.1253 + ANTLRv3Parser.actionScopeName_return actionScopeName23 = null;
19.1254 +
19.1255 + ANTLRv3Parser.id_return id25 = null;
19.1256 +
19.1257 +
19.1258 + CommonTree char_literal22_tree=null;
19.1259 + CommonTree string_literal24_tree=null;
19.1260 + CommonTree ACTION26_tree=null;
19.1261 + RewriteRuleTokenStream stream_72=new RewriteRuleTokenStream(adaptor,"token 72");
19.1262 + RewriteRuleTokenStream stream_ACTION=new RewriteRuleTokenStream(adaptor,"token ACTION");
19.1263 + RewriteRuleTokenStream stream_73=new RewriteRuleTokenStream(adaptor,"token 73");
19.1264 + RewriteRuleSubtreeStream stream_id=new RewriteRuleSubtreeStream(adaptor,"rule id");
19.1265 + RewriteRuleSubtreeStream stream_actionScopeName=new RewriteRuleSubtreeStream(adaptor,"rule actionScopeName");
19.1266 + try { dbg.enterRule(getGrammarFileName(), "action");
19.1267 + if ( getRuleLevel()==0 ) {dbg.commence();}
19.1268 + incRuleLevel();
19.1269 + dbg.location(120, 1);
19.1270 +
19.1271 + try {
19.1272 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:122:2: ( '@' ( actionScopeName '::' )? id ACTION -> ^( '@' ( actionScopeName )? id ACTION ) )
19.1273 + dbg.enterAlt(1);
19.1274 +
19.1275 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:122:4: '@' ( actionScopeName '::' )? id ACTION
19.1276 + {
19.1277 + dbg.location(122,4);
19.1278 + char_literal22=(Token)match(input,72,FOLLOW_72_in_action637); if (state.failed) return retval;
19.1279 + if ( state.backtracking==0 ) stream_72.add(char_literal22);
19.1280 +
19.1281 + dbg.location(122,8);
19.1282 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:122:8: ( actionScopeName '::' )?
19.1283 + int alt11=2;
19.1284 + try { dbg.enterSubRule(11);
19.1285 + try { dbg.enterDecision(11, decisionCanBacktrack[11]);
19.1286 +
19.1287 + switch ( input.LA(1) ) {
19.1288 + case TOKEN_REF:
19.1289 + {
19.1290 + int LA11_1 = input.LA(2);
19.1291 +
19.1292 + if ( (LA11_1==73) ) {
19.1293 + alt11=1;
19.1294 + }
19.1295 + }
19.1296 + break;
19.1297 + case RULE_REF:
19.1298 + {
19.1299 + int LA11_2 = input.LA(2);
19.1300 +
19.1301 + if ( (LA11_2==73) ) {
19.1302 + alt11=1;
19.1303 + }
19.1304 + }
19.1305 + break;
19.1306 + case 65:
19.1307 + case 66:
19.1308 + {
19.1309 + alt11=1;
19.1310 + }
19.1311 + break;
19.1312 + }
19.1313 +
19.1314 + } finally {dbg.exitDecision(11);}
19.1315 +
19.1316 + switch (alt11) {
19.1317 + case 1 :
19.1318 + dbg.enterAlt(1);
19.1319 +
19.1320 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:122:9: actionScopeName '::'
19.1321 + {
19.1322 + dbg.location(122,9);
19.1323 + pushFollow(FOLLOW_actionScopeName_in_action640);
19.1324 + actionScopeName23=actionScopeName();
19.1325 +
19.1326 + state._fsp--;
19.1327 + if (state.failed) return retval;
19.1328 + if ( state.backtracking==0 ) stream_actionScopeName.add(actionScopeName23.getTree());
19.1329 + dbg.location(122,25);
19.1330 + string_literal24=(Token)match(input,73,FOLLOW_73_in_action642); if (state.failed) return retval;
19.1331 + if ( state.backtracking==0 ) stream_73.add(string_literal24);
19.1332 +
19.1333 +
19.1334 + }
19.1335 + break;
19.1336 +
19.1337 + }
19.1338 + } finally {dbg.exitSubRule(11);}
19.1339 +
19.1340 + dbg.location(122,32);
19.1341 + pushFollow(FOLLOW_id_in_action646);
19.1342 + id25=id();
19.1343 +
19.1344 + state._fsp--;
19.1345 + if (state.failed) return retval;
19.1346 + if ( state.backtracking==0 ) stream_id.add(id25.getTree());
19.1347 + dbg.location(122,35);
19.1348 + ACTION26=(Token)match(input,ACTION,FOLLOW_ACTION_in_action648); if (state.failed) return retval;
19.1349 + if ( state.backtracking==0 ) stream_ACTION.add(ACTION26);
19.1350 +
19.1351 +
19.1352 +
19.1353 + // AST REWRITE
19.1354 + // elements: ACTION, id, 72, actionScopeName
19.1355 + // token labels:
19.1356 + // rule labels: retval
19.1357 + // token list labels:
19.1358 + // rule list labels:
19.1359 + // wildcard labels:
19.1360 + if ( state.backtracking==0 ) {
19.1361 + retval.tree = root_0;
19.1362 + RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);
19.1363 +
19.1364 + root_0 = (CommonTree)adaptor.nil();
19.1365 + // 122:42: -> ^( '@' ( actionScopeName )? id ACTION )
19.1366 + {
19.1367 + dbg.location(122,45);
19.1368 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:122:45: ^( '@' ( actionScopeName )? id ACTION )
19.1369 + {
19.1370 + CommonTree root_1 = (CommonTree)adaptor.nil();
19.1371 + dbg.location(122,47);
19.1372 + root_1 = (CommonTree)adaptor.becomeRoot(stream_72.nextNode(), root_1);
19.1373 +
19.1374 + dbg.location(122,51);
19.1375 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:122:51: ( actionScopeName )?
19.1376 + if ( stream_actionScopeName.hasNext() ) {
19.1377 + dbg.location(122,51);
19.1378 + adaptor.addChild(root_1, stream_actionScopeName.nextTree());
19.1379 +
19.1380 + }
19.1381 + stream_actionScopeName.reset();
19.1382 + dbg.location(122,68);
19.1383 + adaptor.addChild(root_1, stream_id.nextTree());
19.1384 + dbg.location(122,71);
19.1385 + adaptor.addChild(root_1, stream_ACTION.nextNode());
19.1386 +
19.1387 + adaptor.addChild(root_0, root_1);
19.1388 + }
19.1389 +
19.1390 + }
19.1391 +
19.1392 + retval.tree = root_0;}
19.1393 + }
19.1394 +
19.1395 + retval.stop = input.LT(-1);
19.1396 +
19.1397 + if ( state.backtracking==0 ) {
19.1398 +
19.1399 + retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
19.1400 + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
19.1401 + }
19.1402 + }
19.1403 + catch (RecognitionException re) {
19.1404 + reportError(re);
19.1405 + recover(input,re);
19.1406 + retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re);
19.1407 +
19.1408 + }
19.1409 + finally {
19.1410 + }
19.1411 + dbg.location(123, 2);
19.1412 +
19.1413 + }
19.1414 + finally {
19.1415 + dbg.exitRule(getGrammarFileName(), "action");
19.1416 + decRuleLevel();
19.1417 + if ( getRuleLevel()==0 ) {dbg.terminate();}
19.1418 + }
19.1419 +
19.1420 + return retval;
19.1421 + }
19.1422 + // $ANTLR end "action"
19.1423 +
19.1424 + public static class actionScopeName_return extends ParserRuleReturnScope {
19.1425 + CommonTree tree;
19.1426 + public Object getTree() { return tree; }
19.1427 + };
19.1428 +
19.1429 + // $ANTLR start "actionScopeName"
19.1430 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:125:1: actionScopeName : ( id | l= 'lexer' -> ID[$l] | p= 'parser' -> ID[$p] );
19.1431 + public final ANTLRv3Parser.actionScopeName_return actionScopeName() throws RecognitionException {
19.1432 + ANTLRv3Parser.actionScopeName_return retval = new ANTLRv3Parser.actionScopeName_return();
19.1433 + retval.start = input.LT(1);
19.1434 +
19.1435 + CommonTree root_0 = null;
19.1436 +
19.1437 + Token l=null;
19.1438 + Token p=null;
19.1439 + ANTLRv3Parser.id_return id27 = null;
19.1440 +
19.1441 +
19.1442 + CommonTree l_tree=null;
19.1443 + CommonTree p_tree=null;
19.1444 + RewriteRuleTokenStream stream_66=new RewriteRuleTokenStream(adaptor,"token 66");
19.1445 + RewriteRuleTokenStream stream_65=new RewriteRuleTokenStream(adaptor,"token 65");
19.1446 +
19.1447 + try { dbg.enterRule(getGrammarFileName(), "actionScopeName");
19.1448 + if ( getRuleLevel()==0 ) {dbg.commence();}
19.1449 + incRuleLevel();
19.1450 + dbg.location(125, 1);
19.1451 +
19.1452 + try {
19.1453 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:129:2: ( id | l= 'lexer' -> ID[$l] | p= 'parser' -> ID[$p] )
19.1454 + int alt12=3;
19.1455 + try { dbg.enterDecision(12, decisionCanBacktrack[12]);
19.1456 +
19.1457 + switch ( input.LA(1) ) {
19.1458 + case TOKEN_REF:
19.1459 + case RULE_REF:
19.1460 + {
19.1461 + alt12=1;
19.1462 + }
19.1463 + break;
19.1464 + case 65:
19.1465 + {
19.1466 + alt12=2;
19.1467 + }
19.1468 + break;
19.1469 + case 66:
19.1470 + {
19.1471 + alt12=3;
19.1472 + }
19.1473 + break;
19.1474 + default:
19.1475 + if (state.backtracking>0) {state.failed=true; return retval;}
19.1476 + NoViableAltException nvae =
19.1477 + new NoViableAltException("", 12, 0, input);
19.1478 +
19.1479 + dbg.recognitionException(nvae);
19.1480 + throw nvae;
19.1481 + }
19.1482 +
19.1483 + } finally {dbg.exitDecision(12);}
19.1484 +
19.1485 + switch (alt12) {
19.1486 + case 1 :
19.1487 + dbg.enterAlt(1);
19.1488 +
19.1489 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:129:4: id
19.1490 + {
19.1491 + root_0 = (CommonTree)adaptor.nil();
19.1492 +
19.1493 + dbg.location(129,4);
19.1494 + pushFollow(FOLLOW_id_in_actionScopeName674);
19.1495 + id27=id();
19.1496 +
19.1497 + state._fsp--;
19.1498 + if (state.failed) return retval;
19.1499 + if ( state.backtracking==0 ) adaptor.addChild(root_0, id27.getTree());
19.1500 +
19.1501 + }
19.1502 + break;
19.1503 + case 2 :
19.1504 + dbg.enterAlt(2);
19.1505 +
19.1506 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:130:4: l= 'lexer'
19.1507 + {
19.1508 + dbg.location(130,5);
19.1509 + l=(Token)match(input,65,FOLLOW_65_in_actionScopeName681); if (state.failed) return retval;
19.1510 + if ( state.backtracking==0 ) stream_65.add(l);
19.1511 +
19.1512 +
19.1513 +
19.1514 + // AST REWRITE
19.1515 + // elements:
19.1516 + // token labels:
19.1517 + // rule labels: retval
19.1518 + // token list labels:
19.1519 + // rule list labels:
19.1520 + // wildcard labels:
19.1521 + if ( state.backtracking==0 ) {
19.1522 + retval.tree = root_0;
19.1523 + RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);
19.1524 +
19.1525 + root_0 = (CommonTree)adaptor.nil();
19.1526 + // 130:14: -> ID[$l]
19.1527 + {
19.1528 + dbg.location(130,17);
19.1529 + adaptor.addChild(root_0, (CommonTree)adaptor.create(ID, l));
19.1530 +
19.1531 + }
19.1532 +
19.1533 + retval.tree = root_0;}
19.1534 + }
19.1535 + break;
19.1536 + case 3 :
19.1537 + dbg.enterAlt(3);
19.1538 +
19.1539 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:131:9: p= 'parser'
19.1540 + {
19.1541 + dbg.location(131,10);
19.1542 + p=(Token)match(input,66,FOLLOW_66_in_actionScopeName698); if (state.failed) return retval;
19.1543 + if ( state.backtracking==0 ) stream_66.add(p);
19.1544 +
19.1545 +
19.1546 +
19.1547 + // AST REWRITE
19.1548 + // elements:
19.1549 + // token labels:
19.1550 + // rule labels: retval
19.1551 + // token list labels:
19.1552 + // rule list labels:
19.1553 + // wildcard labels:
19.1554 + if ( state.backtracking==0 ) {
19.1555 + retval.tree = root_0;
19.1556 + RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);
19.1557 +
19.1558 + root_0 = (CommonTree)adaptor.nil();
19.1559 + // 131:20: -> ID[$p]
19.1560 + {
19.1561 + dbg.location(131,23);
19.1562 + adaptor.addChild(root_0, (CommonTree)adaptor.create(ID, p));
19.1563 +
19.1564 + }
19.1565 +
19.1566 + retval.tree = root_0;}
19.1567 + }
19.1568 + break;
19.1569 +
19.1570 + }
19.1571 + retval.stop = input.LT(-1);
19.1572 +
19.1573 + if ( state.backtracking==0 ) {
19.1574 +
19.1575 + retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
19.1576 + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
19.1577 + }
19.1578 + }
19.1579 + catch (RecognitionException re) {
19.1580 + reportError(re);
19.1581 + recover(input,re);
19.1582 + retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re);
19.1583 +
19.1584 + }
19.1585 + finally {
19.1586 + }
19.1587 + dbg.location(132, 2);
19.1588 +
19.1589 + }
19.1590 + finally {
19.1591 + dbg.exitRule(getGrammarFileName(), "actionScopeName");
19.1592 + decRuleLevel();
19.1593 + if ( getRuleLevel()==0 ) {dbg.terminate();}
19.1594 + }
19.1595 +
19.1596 + return retval;
19.1597 + }
19.1598 + // $ANTLR end "actionScopeName"
19.1599 +
19.1600 + public static class optionsSpec_return extends ParserRuleReturnScope {
19.1601 + CommonTree tree;
19.1602 + public Object getTree() { return tree; }
19.1603 + };
19.1604 +
19.1605 + // $ANTLR start "optionsSpec"
19.1606 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:134:1: optionsSpec : OPTIONS ( option ';' )+ '}' -> ^( OPTIONS ( option )+ ) ;
19.1607 + public final ANTLRv3Parser.optionsSpec_return optionsSpec() throws RecognitionException {
19.1608 + ANTLRv3Parser.optionsSpec_return retval = new ANTLRv3Parser.optionsSpec_return();
19.1609 + retval.start = input.LT(1);
19.1610 +
19.1611 + CommonTree root_0 = null;
19.1612 +
19.1613 + Token OPTIONS28=null;
19.1614 + Token char_literal30=null;
19.1615 + Token char_literal31=null;
19.1616 + ANTLRv3Parser.option_return option29 = null;
19.1617 +
19.1618 +
19.1619 + CommonTree OPTIONS28_tree=null;
19.1620 + CommonTree char_literal30_tree=null;
19.1621 + CommonTree char_literal31_tree=null;
19.1622 + RewriteRuleTokenStream stream_69=new RewriteRuleTokenStream(adaptor,"token 69");
19.1623 + RewriteRuleTokenStream stream_70=new RewriteRuleTokenStream(adaptor,"token 70");
19.1624 + RewriteRuleTokenStream stream_OPTIONS=new RewriteRuleTokenStream(adaptor,"token OPTIONS");
19.1625 + RewriteRuleSubtreeStream stream_option=new RewriteRuleSubtreeStream(adaptor,"rule option");
19.1626 + try { dbg.enterRule(getGrammarFileName(), "optionsSpec");
19.1627 + if ( getRuleLevel()==0 ) {dbg.commence();}
19.1628 + incRuleLevel();
19.1629 + dbg.location(134, 1);
19.1630 +
19.1631 + try {
19.1632 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:135:2: ( OPTIONS ( option ';' )+ '}' -> ^( OPTIONS ( option )+ ) )
19.1633 + dbg.enterAlt(1);
19.1634 +
19.1635 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:135:4: OPTIONS ( option ';' )+ '}'
19.1636 + {
19.1637 + dbg.location(135,4);
19.1638 + OPTIONS28=(Token)match(input,OPTIONS,FOLLOW_OPTIONS_in_optionsSpec714); if (state.failed) return retval;
19.1639 + if ( state.backtracking==0 ) stream_OPTIONS.add(OPTIONS28);
19.1640 +
19.1641 + dbg.location(135,12);
19.1642 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:135:12: ( option ';' )+
19.1643 + int cnt13=0;
19.1644 + try { dbg.enterSubRule(13);
19.1645 +
19.1646 + loop13:
19.1647 + do {
19.1648 + int alt13=2;
19.1649 + try { dbg.enterDecision(13, decisionCanBacktrack[13]);
19.1650 +
19.1651 + int LA13_0 = input.LA(1);
19.1652 +
19.1653 + if ( (LA13_0==TOKEN_REF||LA13_0==RULE_REF) ) {
19.1654 + alt13=1;
19.1655 + }
19.1656 +
19.1657 +
19.1658 + } finally {dbg.exitDecision(13);}
19.1659 +
19.1660 + switch (alt13) {
19.1661 + case 1 :
19.1662 + dbg.enterAlt(1);
19.1663 +
19.1664 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:135:13: option ';'
19.1665 + {
19.1666 + dbg.location(135,13);
19.1667 + pushFollow(FOLLOW_option_in_optionsSpec717);
19.1668 + option29=option();
19.1669 +
19.1670 + state._fsp--;
19.1671 + if (state.failed) return retval;
19.1672 + if ( state.backtracking==0 ) stream_option.add(option29.getTree());
19.1673 + dbg.location(135,20);
19.1674 + char_literal30=(Token)match(input,69,FOLLOW_69_in_optionsSpec719); if (state.failed) return retval;
19.1675 + if ( state.backtracking==0 ) stream_69.add(char_literal30);
19.1676 +
19.1677 +
19.1678 + }
19.1679 + break;
19.1680 +
19.1681 + default :
19.1682 + if ( cnt13 >= 1 ) break loop13;
19.1683 + if (state.backtracking>0) {state.failed=true; return retval;}
19.1684 + EarlyExitException eee =
19.1685 + new EarlyExitException(13, input);
19.1686 + dbg.recognitionException(eee);
19.1687 +
19.1688 + throw eee;
19.1689 + }
19.1690 + cnt13++;
19.1691 + } while (true);
19.1692 + } finally {dbg.exitSubRule(13);}
19.1693 +
19.1694 + dbg.location(135,26);
19.1695 + char_literal31=(Token)match(input,70,FOLLOW_70_in_optionsSpec723); if (state.failed) return retval;
19.1696 + if ( state.backtracking==0 ) stream_70.add(char_literal31);
19.1697 +
19.1698 +
19.1699 +
19.1700 + // AST REWRITE
19.1701 + // elements: OPTIONS, option
19.1702 + // token labels:
19.1703 + // rule labels: retval
19.1704 + // token list labels:
19.1705 + // rule list labels:
19.1706 + // wildcard labels:
19.1707 + if ( state.backtracking==0 ) {
19.1708 + retval.tree = root_0;
19.1709 + RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);
19.1710 +
19.1711 + root_0 = (CommonTree)adaptor.nil();
19.1712 + // 135:30: -> ^( OPTIONS ( option )+ )
19.1713 + {
19.1714 + dbg.location(135,33);
19.1715 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:135:33: ^( OPTIONS ( option )+ )
19.1716 + {
19.1717 + CommonTree root_1 = (CommonTree)adaptor.nil();
19.1718 + dbg.location(135,35);
19.1719 + root_1 = (CommonTree)adaptor.becomeRoot(stream_OPTIONS.nextNode(), root_1);
19.1720 +
19.1721 + dbg.location(135,43);
19.1722 + if ( !(stream_option.hasNext()) ) {
19.1723 + throw new RewriteEarlyExitException();
19.1724 + }
19.1725 + while ( stream_option.hasNext() ) {
19.1726 + dbg.location(135,43);
19.1727 + adaptor.addChild(root_1, stream_option.nextTree());
19.1728 +
19.1729 + }
19.1730 + stream_option.reset();
19.1731 +
19.1732 + adaptor.addChild(root_0, root_1);
19.1733 + }
19.1734 +
19.1735 + }
19.1736 +
19.1737 + retval.tree = root_0;}
19.1738 + }
19.1739 +
19.1740 + retval.stop = input.LT(-1);
19.1741 +
19.1742 + if ( state.backtracking==0 ) {
19.1743 +
19.1744 + retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
19.1745 + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
19.1746 + }
19.1747 + }
19.1748 + catch (RecognitionException re) {
19.1749 + reportError(re);
19.1750 + recover(input,re);
19.1751 + retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re);
19.1752 +
19.1753 + }
19.1754 + finally {
19.1755 + }
19.1756 + dbg.location(136, 2);
19.1757 +
19.1758 + }
19.1759 + finally {
19.1760 + dbg.exitRule(getGrammarFileName(), "optionsSpec");
19.1761 + decRuleLevel();
19.1762 + if ( getRuleLevel()==0 ) {dbg.terminate();}
19.1763 + }
19.1764 +
19.1765 + return retval;
19.1766 + }
19.1767 + // $ANTLR end "optionsSpec"
19.1768 +
19.1769 + public static class option_return extends ParserRuleReturnScope {
19.1770 + CommonTree tree;
19.1771 + public Object getTree() { return tree; }
19.1772 + };
19.1773 +
19.1774 + // $ANTLR start "option"
19.1775 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:138:1: option : id '=' optionValue -> ^( '=' id optionValue ) ;
19.1776 + public final ANTLRv3Parser.option_return option() throws RecognitionException {
19.1777 + ANTLRv3Parser.option_return retval = new ANTLRv3Parser.option_return();
19.1778 + retval.start = input.LT(1);
19.1779 +
19.1780 + CommonTree root_0 = null;
19.1781 +
19.1782 + Token char_literal33=null;
19.1783 + ANTLRv3Parser.id_return id32 = null;
19.1784 +
19.1785 + ANTLRv3Parser.optionValue_return optionValue34 = null;
19.1786 +
19.1787 +
19.1788 + CommonTree char_literal33_tree=null;
19.1789 + RewriteRuleTokenStream stream_71=new RewriteRuleTokenStream(adaptor,"token 71");
19.1790 + RewriteRuleSubtreeStream stream_id=new RewriteRuleSubtreeStream(adaptor,"rule id");
19.1791 + RewriteRuleSubtreeStream stream_optionValue=new RewriteRuleSubtreeStream(adaptor,"rule optionValue");
19.1792 + try { dbg.enterRule(getGrammarFileName(), "option");
19.1793 + if ( getRuleLevel()==0 ) {dbg.commence();}
19.1794 + incRuleLevel();
19.1795 + dbg.location(138, 1);
19.1796 +
19.1797 + try {
19.1798 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:139:5: ( id '=' optionValue -> ^( '=' id optionValue ) )
19.1799 + dbg.enterAlt(1);
19.1800 +
19.1801 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:139:9: id '=' optionValue
19.1802 + {
19.1803 + dbg.location(139,9);
19.1804 + pushFollow(FOLLOW_id_in_option748);
19.1805 + id32=id();
19.1806 +
19.1807 + state._fsp--;
19.1808 + if (state.failed) return retval;
19.1809 + if ( state.backtracking==0 ) stream_id.add(id32.getTree());
19.1810 + dbg.location(139,12);
19.1811 + char_literal33=(Token)match(input,71,FOLLOW_71_in_option750); if (state.failed) return retval;
19.1812 + if ( state.backtracking==0 ) stream_71.add(char_literal33);
19.1813 +
19.1814 + dbg.location(139,16);
19.1815 + pushFollow(FOLLOW_optionValue_in_option752);
19.1816 + optionValue34=optionValue();
19.1817 +
19.1818 + state._fsp--;
19.1819 + if (state.failed) return retval;
19.1820 + if ( state.backtracking==0 ) stream_optionValue.add(optionValue34.getTree());
19.1821 +
19.1822 +
19.1823 + // AST REWRITE
19.1824 + // elements: 71, optionValue, id
19.1825 + // token labels:
19.1826 + // rule labels: retval
19.1827 + // token list labels:
19.1828 + // rule list labels:
19.1829 + // wildcard labels:
19.1830 + if ( state.backtracking==0 ) {
19.1831 + retval.tree = root_0;
19.1832 + RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);
19.1833 +
19.1834 + root_0 = (CommonTree)adaptor.nil();
19.1835 + // 139:28: -> ^( '=' id optionValue )
19.1836 + {
19.1837 + dbg.location(139,31);
19.1838 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:139:31: ^( '=' id optionValue )
19.1839 + {
19.1840 + CommonTree root_1 = (CommonTree)adaptor.nil();
19.1841 + dbg.location(139,33);
19.1842 + root_1 = (CommonTree)adaptor.becomeRoot(stream_71.nextNode(), root_1);
19.1843 +
19.1844 + dbg.location(139,37);
19.1845 + adaptor.addChild(root_1, stream_id.nextTree());
19.1846 + dbg.location(139,40);
19.1847 + adaptor.addChild(root_1, stream_optionValue.nextTree());
19.1848 +
19.1849 + adaptor.addChild(root_0, root_1);
19.1850 + }
19.1851 +
19.1852 + }
19.1853 +
19.1854 + retval.tree = root_0;}
19.1855 + }
19.1856 +
19.1857 + retval.stop = input.LT(-1);
19.1858 +
19.1859 + if ( state.backtracking==0 ) {
19.1860 +
19.1861 + retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
19.1862 + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
19.1863 + }
19.1864 + }
19.1865 + catch (RecognitionException re) {
19.1866 + reportError(re);
19.1867 + recover(input,re);
19.1868 + retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re);
19.1869 +
19.1870 + }
19.1871 + finally {
19.1872 + }
19.1873 + dbg.location(140, 3);
19.1874 +
19.1875 + }
19.1876 + finally {
19.1877 + dbg.exitRule(getGrammarFileName(), "option");
19.1878 + decRuleLevel();
19.1879 + if ( getRuleLevel()==0 ) {dbg.terminate();}
19.1880 + }
19.1881 +
19.1882 + return retval;
19.1883 + }
19.1884 + // $ANTLR end "option"
19.1885 +
19.1886 + public static class optionValue_return extends ParserRuleReturnScope {
19.1887 + CommonTree tree;
19.1888 + public Object getTree() { return tree; }
19.1889 + };
19.1890 +
19.1891 + // $ANTLR start "optionValue"
19.1892 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:142:1: optionValue : ( id | STRING_LITERAL | CHAR_LITERAL | INT | s= '*' -> STRING_LITERAL[$s] );
19.1893 + public final ANTLRv3Parser.optionValue_return optionValue() throws RecognitionException {
19.1894 + ANTLRv3Parser.optionValue_return retval = new ANTLRv3Parser.optionValue_return();
19.1895 + retval.start = input.LT(1);
19.1896 +
19.1897 + CommonTree root_0 = null;
19.1898 +
19.1899 + Token s=null;
19.1900 + Token STRING_LITERAL36=null;
19.1901 + Token CHAR_LITERAL37=null;
19.1902 + Token INT38=null;
19.1903 + ANTLRv3Parser.id_return id35 = null;
19.1904 +
19.1905 +
19.1906 + CommonTree s_tree=null;
19.1907 + CommonTree STRING_LITERAL36_tree=null;
19.1908 + CommonTree CHAR_LITERAL37_tree=null;
19.1909 + CommonTree INT38_tree=null;
19.1910 + RewriteRuleTokenStream stream_74=new RewriteRuleTokenStream(adaptor,"token 74");
19.1911 +
19.1912 + try { dbg.enterRule(getGrammarFileName(), "optionValue");
19.1913 + if ( getRuleLevel()==0 ) {dbg.commence();}
19.1914 + incRuleLevel();
19.1915 + dbg.location(142, 1);
19.1916 +
19.1917 + try {
19.1918 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:143:5: ( id | STRING_LITERAL | CHAR_LITERAL | INT | s= '*' -> STRING_LITERAL[$s] )
19.1919 + int alt14=5;
19.1920 + try { dbg.enterDecision(14, decisionCanBacktrack[14]);
19.1921 +
19.1922 + switch ( input.LA(1) ) {
19.1923 + case TOKEN_REF:
19.1924 + case RULE_REF:
19.1925 + {
19.1926 + alt14=1;
19.1927 + }
19.1928 + break;
19.1929 + case STRING_LITERAL:
19.1930 + {
19.1931 + alt14=2;
19.1932 + }
19.1933 + break;
19.1934 + case CHAR_LITERAL:
19.1935 + {
19.1936 + alt14=3;
19.1937 + }
19.1938 + break;
19.1939 + case INT:
19.1940 + {
19.1941 + alt14=4;
19.1942 + }
19.1943 + break;
19.1944 + case 74:
19.1945 + {
19.1946 + alt14=5;
19.1947 + }
19.1948 + break;
19.1949 + default:
19.1950 + if (state.backtracking>0) {state.failed=true; return retval;}
19.1951 + NoViableAltException nvae =
19.1952 + new NoViableAltException("", 14, 0, input);
19.1953 +
19.1954 + dbg.recognitionException(nvae);
19.1955 + throw nvae;
19.1956 + }
19.1957 +
19.1958 + } finally {dbg.exitDecision(14);}
19.1959 +
19.1960 + switch (alt14) {
19.1961 + case 1 :
19.1962 + dbg.enterAlt(1);
19.1963 +
19.1964 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:143:9: id
19.1965 + {
19.1966 + root_0 = (CommonTree)adaptor.nil();
19.1967 +
19.1968 + dbg.location(143,9);
19.1969 + pushFollow(FOLLOW_id_in_optionValue781);
19.1970 + id35=id();
19.1971 +
19.1972 + state._fsp--;
19.1973 + if (state.failed) return retval;
19.1974 + if ( state.backtracking==0 ) adaptor.addChild(root_0, id35.getTree());
19.1975 +
19.1976 + }
19.1977 + break;
19.1978 + case 2 :
19.1979 + dbg.enterAlt(2);
19.1980 +
19.1981 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:144:9: STRING_LITERAL
19.1982 + {
19.1983 + root_0 = (CommonTree)adaptor.nil();
19.1984 +
19.1985 + dbg.location(144,9);
19.1986 + STRING_LITERAL36=(Token)match(input,STRING_LITERAL,FOLLOW_STRING_LITERAL_in_optionValue791); if (state.failed) return retval;
19.1987 + if ( state.backtracking==0 ) {
19.1988 + STRING_LITERAL36_tree = (CommonTree)adaptor.create(STRING_LITERAL36);
19.1989 + adaptor.addChild(root_0, STRING_LITERAL36_tree);
19.1990 + }
19.1991 +
19.1992 + }
19.1993 + break;
19.1994 + case 3 :
19.1995 + dbg.enterAlt(3);
19.1996 +
19.1997 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:145:9: CHAR_LITERAL
19.1998 + {
19.1999 + root_0 = (CommonTree)adaptor.nil();
19.2000 +
19.2001 + dbg.location(145,9);
19.2002 + CHAR_LITERAL37=(Token)match(input,CHAR_LITERAL,FOLLOW_CHAR_LITERAL_in_optionValue801); if (state.failed) return retval;
19.2003 + if ( state.backtracking==0 ) {
19.2004 + CHAR_LITERAL37_tree = (CommonTree)adaptor.create(CHAR_LITERAL37);
19.2005 + adaptor.addChild(root_0, CHAR_LITERAL37_tree);
19.2006 + }
19.2007 +
19.2008 + }
19.2009 + break;
19.2010 + case 4 :
19.2011 + dbg.enterAlt(4);
19.2012 +
19.2013 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:146:9: INT
19.2014 + {
19.2015 + root_0 = (CommonTree)adaptor.nil();
19.2016 +
19.2017 + dbg.location(146,9);
19.2018 + INT38=(Token)match(input,INT,FOLLOW_INT_in_optionValue811); if (state.failed) return retval;
19.2019 + if ( state.backtracking==0 ) {
19.2020 + INT38_tree = (CommonTree)adaptor.create(INT38);
19.2021 + adaptor.addChild(root_0, INT38_tree);
19.2022 + }
19.2023 +
19.2024 + }
19.2025 + break;
19.2026 + case 5 :
19.2027 + dbg.enterAlt(5);
19.2028 +
19.2029 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:147:7: s= '*'
19.2030 + {
19.2031 + dbg.location(147,8);
19.2032 + s=(Token)match(input,74,FOLLOW_74_in_optionValue821); if (state.failed) return retval;
19.2033 + if ( state.backtracking==0 ) stream_74.add(s);
19.2034 +
19.2035 +
19.2036 +
19.2037 + // AST REWRITE
19.2038 + // elements:
19.2039 + // token labels:
19.2040 + // rule labels: retval
19.2041 + // token list labels:
19.2042 + // rule list labels:
19.2043 + // wildcard labels:
19.2044 + if ( state.backtracking==0 ) {
19.2045 + retval.tree = root_0;
19.2046 + RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);
19.2047 +
19.2048 + root_0 = (CommonTree)adaptor.nil();
19.2049 + // 147:13: -> STRING_LITERAL[$s]
19.2050 + {
19.2051 + dbg.location(147,16);
19.2052 + adaptor.addChild(root_0, (CommonTree)adaptor.create(STRING_LITERAL, s));
19.2053 +
19.2054 + }
19.2055 +
19.2056 + retval.tree = root_0;}
19.2057 + }
19.2058 + break;
19.2059 +
19.2060 + }
19.2061 + retval.stop = input.LT(-1);
19.2062 +
19.2063 + if ( state.backtracking==0 ) {
19.2064 +
19.2065 + retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
19.2066 + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
19.2067 + }
19.2068 + }
19.2069 + catch (RecognitionException re) {
19.2070 + reportError(re);
19.2071 + recover(input,re);
19.2072 + retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re);
19.2073 +
19.2074 + }
19.2075 + finally {
19.2076 + }
19.2077 + dbg.location(148, 5);
19.2078 +
19.2079 + }
19.2080 + finally {
19.2081 + dbg.exitRule(getGrammarFileName(), "optionValue");
19.2082 + decRuleLevel();
19.2083 + if ( getRuleLevel()==0 ) {dbg.terminate();}
19.2084 + }
19.2085 +
19.2086 + return retval;
19.2087 + }
19.2088 + // $ANTLR end "optionValue"
19.2089 +
19.2090 + protected static class rule_scope {
19.2091 + String name;
19.2092 + }
19.2093 + protected Stack rule_stack = new Stack();
19.2094 +
19.2095 + public static class rule_return extends ParserRuleReturnScope {
19.2096 + CommonTree tree;
19.2097 + public Object getTree() { return tree; }
19.2098 + };
19.2099 +
19.2100 + // $ANTLR start "rule"
19.2101 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:150:1: rule : ( DOC_COMMENT )? (modifier= ( 'protected' | 'public' | 'private' | 'fragment' ) )? id ( '!' )? (arg= ARG_ACTION )? ( 'returns' rt= ARG_ACTION )? ( throwsSpec )? ( optionsSpec )? ( ruleScopeSpec )? ( ruleAction )* ':' altList ';' ( exceptionGroup )? -> ^( RULE id ( ^( ARG $arg) )? ( ^( RET $rt) )? ( optionsSpec )? ( ruleScopeSpec )? ( ruleAction )* altList ( exceptionGroup )? EOR[\"EOR\"] ) ;
19.2102 + public final ANTLRv3Parser.rule_return rule() throws RecognitionException {
19.2103 + rule_stack.push(new rule_scope());
19.2104 + ANTLRv3Parser.rule_return retval = new ANTLRv3Parser.rule_return();
19.2105 + retval.start = input.LT(1);
19.2106 +
19.2107 + CommonTree root_0 = null;
19.2108 +
19.2109 + Token modifier=null;
19.2110 + Token arg=null;
19.2111 + Token rt=null;
19.2112 + Token DOC_COMMENT39=null;
19.2113 + Token string_literal40=null;
19.2114 + Token string_literal41=null;
19.2115 + Token string_literal42=null;
19.2116 + Token string_literal43=null;
19.2117 + Token char_literal45=null;
19.2118 + Token string_literal46=null;
19.2119 + Token char_literal51=null;
19.2120 + Token char_literal53=null;
19.2121 + ANTLRv3Parser.id_return id44 = null;
19.2122 +
19.2123 + ANTLRv3Parser.throwsSpec_return throwsSpec47 = null;
19.2124 +
19.2125 + ANTLRv3Parser.optionsSpec_return optionsSpec48 = null;
19.2126 +
19.2127 + ANTLRv3Parser.ruleScopeSpec_return ruleScopeSpec49 = null;
19.2128 +
19.2129 + ANTLRv3Parser.ruleAction_return ruleAction50 = null;
19.2130 +
19.2131 + ANTLRv3Parser.altList_return altList52 = null;
19.2132 +
19.2133 + ANTLRv3Parser.exceptionGroup_return exceptionGroup54 = null;
19.2134 +
19.2135 +
19.2136 + CommonTree modifier_tree=null;
19.2137 + CommonTree arg_tree=null;
19.2138 + CommonTree rt_tree=null;
19.2139 + CommonTree DOC_COMMENT39_tree=null;
19.2140 + CommonTree string_literal40_tree=null;
19.2141 + CommonTree string_literal41_tree=null;
19.2142 + CommonTree string_literal42_tree=null;
19.2143 + CommonTree string_literal43_tree=null;
19.2144 + CommonTree char_literal45_tree=null;
19.2145 + CommonTree string_literal46_tree=null;
19.2146 + CommonTree char_literal51_tree=null;
19.2147 + CommonTree char_literal53_tree=null;
19.2148 + RewriteRuleTokenStream stream_DOC_COMMENT=new RewriteRuleTokenStream(adaptor,"token DOC_COMMENT");
19.2149 + RewriteRuleTokenStream stream_79=new RewriteRuleTokenStream(adaptor,"token 79");
19.2150 + RewriteRuleTokenStream stream_78=new RewriteRuleTokenStream(adaptor,"token 78");
19.2151 + RewriteRuleTokenStream stream_69=new RewriteRuleTokenStream(adaptor,"token 69");
19.2152 + RewriteRuleTokenStream stream_77=new RewriteRuleTokenStream(adaptor,"token 77");
19.2153 + RewriteRuleTokenStream stream_BANG=new RewriteRuleTokenStream(adaptor,"token BANG");
19.2154 + RewriteRuleTokenStream stream_FRAGMENT=new RewriteRuleTokenStream(adaptor,"token FRAGMENT");
19.2155 + RewriteRuleTokenStream stream_75=new RewriteRuleTokenStream(adaptor,"token 75");
19.2156 + RewriteRuleTokenStream stream_ARG_ACTION=new RewriteRuleTokenStream(adaptor,"token ARG_ACTION");
19.2157 + RewriteRuleTokenStream stream_76=new RewriteRuleTokenStream(adaptor,"token 76");
19.2158 + RewriteRuleSubtreeStream stream_id=new RewriteRuleSubtreeStream(adaptor,"rule id");
19.2159 + RewriteRuleSubtreeStream stream_exceptionGroup=new RewriteRuleSubtreeStream(adaptor,"rule exceptionGroup");
19.2160 + RewriteRuleSubtreeStream stream_throwsSpec=new RewriteRuleSubtreeStream(adaptor,"rule throwsSpec");
19.2161 + RewriteRuleSubtreeStream stream_ruleScopeSpec=new RewriteRuleSubtreeStream(adaptor,"rule ruleScopeSpec");
19.2162 + RewriteRuleSubtreeStream stream_optionsSpec=new RewriteRuleSubtreeStream(adaptor,"rule optionsSpec");
19.2163 + RewriteRuleSubtreeStream stream_altList=new RewriteRuleSubtreeStream(adaptor,"rule altList");
19.2164 + RewriteRuleSubtreeStream stream_ruleAction=new RewriteRuleSubtreeStream(adaptor,"rule ruleAction");
19.2165 + try { dbg.enterRule(getGrammarFileName(), "rule");
19.2166 + if ( getRuleLevel()==0 ) {dbg.commence();}
19.2167 + incRuleLevel();
19.2168 + dbg.location(150, 1);
19.2169 +
19.2170 + try {
19.2171 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:154:2: ( ( DOC_COMMENT )? (modifier= ( 'protected' | 'public' | 'private' | 'fragment' ) )? id ( '!' )? (arg= ARG_ACTION )? ( 'returns' rt= ARG_ACTION )? ( throwsSpec )? ( optionsSpec )? ( ruleScopeSpec )? ( ruleAction )* ':' altList ';' ( exceptionGroup )? -> ^( RULE id ( ^( ARG $arg) )? ( ^( RET $rt) )? ( optionsSpec )? ( ruleScopeSpec )? ( ruleAction )* altList ( exceptionGroup )? EOR[\"EOR\"] ) )
19.2172 + dbg.enterAlt(1);
19.2173 +
19.2174 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:154:4: ( DOC_COMMENT )? (modifier= ( 'protected' | 'public' | 'private' | 'fragment' ) )? id ( '!' )? (arg= ARG_ACTION )? ( 'returns' rt= ARG_ACTION )? ( throwsSpec )? ( optionsSpec )? ( ruleScopeSpec )? ( ruleAction )* ':' altList ';' ( exceptionGroup )?
19.2175 + {
19.2176 + dbg.location(154,4);
19.2177 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:154:4: ( DOC_COMMENT )?
19.2178 + int alt15=2;
19.2179 + try { dbg.enterSubRule(15);
19.2180 + try { dbg.enterDecision(15, decisionCanBacktrack[15]);
19.2181 +
19.2182 + int LA15_0 = input.LA(1);
19.2183 +
19.2184 + if ( (LA15_0==DOC_COMMENT) ) {
19.2185 + alt15=1;
19.2186 + }
19.2187 + } finally {dbg.exitDecision(15);}
19.2188 +
19.2189 + switch (alt15) {
19.2190 + case 1 :
19.2191 + dbg.enterAlt(1);
19.2192 +
19.2193 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:154:4: DOC_COMMENT
19.2194 + {
19.2195 + dbg.location(154,4);
19.2196 + DOC_COMMENT39=(Token)match(input,DOC_COMMENT,FOLLOW_DOC_COMMENT_in_rule846); if (state.failed) return retval;
19.2197 + if ( state.backtracking==0 ) stream_DOC_COMMENT.add(DOC_COMMENT39);
19.2198 +
19.2199 +
19.2200 + }
19.2201 + break;
19.2202 +
19.2203 + }
19.2204 + } finally {dbg.exitSubRule(15);}
19.2205 +
19.2206 + dbg.location(155,3);
19.2207 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:155:3: (modifier= ( 'protected' | 'public' | 'private' | 'fragment' ) )?
19.2208 + int alt17=2;
19.2209 + try { dbg.enterSubRule(17);
19.2210 + try { dbg.enterDecision(17, decisionCanBacktrack[17]);
19.2211 +
19.2212 + int LA17_0 = input.LA(1);
19.2213 +
19.2214 + if ( (LA17_0==FRAGMENT||(LA17_0>=75 && LA17_0<=77)) ) {
19.2215 + alt17=1;
19.2216 + }
19.2217 + } finally {dbg.exitDecision(17);}
19.2218 +
19.2219 + switch (alt17) {
19.2220 + case 1 :
19.2221 + dbg.enterAlt(1);
19.2222 +
19.2223 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:155:5: modifier= ( 'protected' | 'public' | 'private' | 'fragment' )
19.2224 + {
19.2225 + dbg.location(155,13);
19.2226 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:155:14: ( 'protected' | 'public' | 'private' | 'fragment' )
19.2227 + int alt16=4;
19.2228 + try { dbg.enterSubRule(16);
19.2229 + try { dbg.enterDecision(16, decisionCanBacktrack[16]);
19.2230 +
19.2231 + switch ( input.LA(1) ) {
19.2232 + case 75:
19.2233 + {
19.2234 + alt16=1;
19.2235 + }
19.2236 + break;
19.2237 + case 76:
19.2238 + {
19.2239 + alt16=2;
19.2240 + }
19.2241 + break;
19.2242 + case 77:
19.2243 + {
19.2244 + alt16=3;
19.2245 + }
19.2246 + break;
19.2247 + case FRAGMENT:
19.2248 + {
19.2249 + alt16=4;
19.2250 + }
19.2251 + break;
19.2252 + default:
19.2253 + if (state.backtracking>0) {state.failed=true; return retval;}
19.2254 + NoViableAltException nvae =
19.2255 + new NoViableAltException("", 16, 0, input);
19.2256 +
19.2257 + dbg.recognitionException(nvae);
19.2258 + throw nvae;
19.2259 + }
19.2260 +
19.2261 + } finally {dbg.exitDecision(16);}
19.2262 +
19.2263 + switch (alt16) {
19.2264 + case 1 :
19.2265 + dbg.enterAlt(1);
19.2266 +
19.2267 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:155:15: 'protected'
19.2268 + {
19.2269 + dbg.location(155,15);
19.2270 + string_literal40=(Token)match(input,75,FOLLOW_75_in_rule856); if (state.failed) return retval;
19.2271 + if ( state.backtracking==0 ) stream_75.add(string_literal40);
19.2272 +
19.2273 +
19.2274 + }
19.2275 + break;
19.2276 + case 2 :
19.2277 + dbg.enterAlt(2);
19.2278 +
19.2279 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:155:27: 'public'
19.2280 + {
19.2281 + dbg.location(155,27);
19.2282 + string_literal41=(Token)match(input,76,FOLLOW_76_in_rule858); if (state.failed) return retval;
19.2283 + if ( state.backtracking==0 ) stream_76.add(string_literal41);
19.2284 +
19.2285 +
19.2286 + }
19.2287 + break;
19.2288 + case 3 :
19.2289 + dbg.enterAlt(3);
19.2290 +
19.2291 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:155:36: 'private'
19.2292 + {
19.2293 + dbg.location(155,36);
19.2294 + string_literal42=(Token)match(input,77,FOLLOW_77_in_rule860); if (state.failed) return retval;
19.2295 + if ( state.backtracking==0 ) stream_77.add(string_literal42);
19.2296 +
19.2297 +
19.2298 + }
19.2299 + break;
19.2300 + case 4 :
19.2301 + dbg.enterAlt(4);
19.2302 +
19.2303 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:155:46: 'fragment'
19.2304 + {
19.2305 + dbg.location(155,46);
19.2306 + string_literal43=(Token)match(input,FRAGMENT,FOLLOW_FRAGMENT_in_rule862); if (state.failed) return retval;
19.2307 + if ( state.backtracking==0 ) stream_FRAGMENT.add(string_literal43);
19.2308 +
19.2309 +
19.2310 + }
19.2311 + break;
19.2312 +
19.2313 + }
19.2314 + } finally {dbg.exitSubRule(16);}
19.2315 +
19.2316 +
19.2317 + }
19.2318 + break;
19.2319 +
19.2320 + }
19.2321 + } finally {dbg.exitSubRule(17);}
19.2322 +
19.2323 + dbg.location(156,3);
19.2324 + pushFollow(FOLLOW_id_in_rule870);
19.2325 + id44=id();
19.2326 +
19.2327 + state._fsp--;
19.2328 + if (state.failed) return retval;
19.2329 + if ( state.backtracking==0 ) stream_id.add(id44.getTree());
19.2330 + dbg.location(156,6);
19.2331 + if ( state.backtracking==0 ) {
19.2332 + ((rule_scope)rule_stack.peek()).name = (id44!=null?input.toString(id44.start,id44.stop):null);
19.2333 + }
19.2334 + dbg.location(157,3);
19.2335 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:157:3: ( '!' )?
19.2336 + int alt18=2;
19.2337 + try { dbg.enterSubRule(18);
19.2338 + try { dbg.enterDecision(18, decisionCanBacktrack[18]);
19.2339 +
19.2340 + int LA18_0 = input.LA(1);
19.2341 +
19.2342 + if ( (LA18_0==BANG) ) {
19.2343 + alt18=1;
19.2344 + }
19.2345 + } finally {dbg.exitDecision(18);}
19.2346 +
19.2347 + switch (alt18) {
19.2348 + case 1 :
19.2349 + dbg.enterAlt(1);
19.2350 +
19.2351 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:157:3: '!'
19.2352 + {
19.2353 + dbg.location(157,3);
19.2354 + char_literal45=(Token)match(input,BANG,FOLLOW_BANG_in_rule876); if (state.failed) return retval;
19.2355 + if ( state.backtracking==0 ) stream_BANG.add(char_literal45);
19.2356 +
19.2357 +
19.2358 + }
19.2359 + break;
19.2360 +
19.2361 + }
19.2362 + } finally {dbg.exitSubRule(18);}
19.2363 +
19.2364 + dbg.location(158,3);
19.2365 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:158:3: (arg= ARG_ACTION )?
19.2366 + int alt19=2;
19.2367 + try { dbg.enterSubRule(19);
19.2368 + try { dbg.enterDecision(19, decisionCanBacktrack[19]);
19.2369 +
19.2370 + int LA19_0 = input.LA(1);
19.2371 +
19.2372 + if ( (LA19_0==ARG_ACTION) ) {
19.2373 + alt19=1;
19.2374 + }
19.2375 + } finally {dbg.exitDecision(19);}
19.2376 +
19.2377 + switch (alt19) {
19.2378 + case 1 :
19.2379 + dbg.enterAlt(1);
19.2380 +
19.2381 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:158:5: arg= ARG_ACTION
19.2382 + {
19.2383 + dbg.location(158,8);
19.2384 + arg=(Token)match(input,ARG_ACTION,FOLLOW_ARG_ACTION_in_rule885); if (state.failed) return retval;
19.2385 + if ( state.backtracking==0 ) stream_ARG_ACTION.add(arg);
19.2386 +
19.2387 +
19.2388 + }
19.2389 + break;
19.2390 +
19.2391 + }
19.2392 + } finally {dbg.exitSubRule(19);}
19.2393 +
19.2394 + dbg.location(159,3);
19.2395 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:159:3: ( 'returns' rt= ARG_ACTION )?
19.2396 + int alt20=2;
19.2397 + try { dbg.enterSubRule(20);
19.2398 + try { dbg.enterDecision(20, decisionCanBacktrack[20]);
19.2399 +
19.2400 + int LA20_0 = input.LA(1);
19.2401 +
19.2402 + if ( (LA20_0==78) ) {
19.2403 + alt20=1;
19.2404 + }
19.2405 + } finally {dbg.exitDecision(20);}
19.2406 +
19.2407 + switch (alt20) {
19.2408 + case 1 :
19.2409 + dbg.enterAlt(1);
19.2410 +
19.2411 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:159:5: 'returns' rt= ARG_ACTION
19.2412 + {
19.2413 + dbg.location(159,5);
19.2414 + string_literal46=(Token)match(input,78,FOLLOW_78_in_rule894); if (state.failed) return retval;
19.2415 + if ( state.backtracking==0 ) stream_78.add(string_literal46);
19.2416 +
19.2417 + dbg.location(159,17);
19.2418 + rt=(Token)match(input,ARG_ACTION,FOLLOW_ARG_ACTION_in_rule898); if (state.failed) return retval;
19.2419 + if ( state.backtracking==0 ) stream_ARG_ACTION.add(rt);
19.2420 +
19.2421 +
19.2422 + }
19.2423 + break;
19.2424 +
19.2425 + }
19.2426 + } finally {dbg.exitSubRule(20);}
19.2427 +
19.2428 + dbg.location(160,3);
19.2429 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:160:3: ( throwsSpec )?
19.2430 + int alt21=2;
19.2431 + try { dbg.enterSubRule(21);
19.2432 + try { dbg.enterDecision(21, decisionCanBacktrack[21]);
19.2433 +
19.2434 + int LA21_0 = input.LA(1);
19.2435 +
19.2436 + if ( (LA21_0==80) ) {
19.2437 + alt21=1;
19.2438 + }
19.2439 + } finally {dbg.exitDecision(21);}
19.2440 +
19.2441 + switch (alt21) {
19.2442 + case 1 :
19.2443 + dbg.enterAlt(1);
19.2444 +
19.2445 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:160:3: throwsSpec
19.2446 + {
19.2447 + dbg.location(160,3);
19.2448 + pushFollow(FOLLOW_throwsSpec_in_rule906);
19.2449 + throwsSpec47=throwsSpec();
19.2450 +
19.2451 + state._fsp--;
19.2452 + if (state.failed) return retval;
19.2453 + if ( state.backtracking==0 ) stream_throwsSpec.add(throwsSpec47.getTree());
19.2454 +
19.2455 + }
19.2456 + break;
19.2457 +
19.2458 + }
19.2459 + } finally {dbg.exitSubRule(21);}
19.2460 +
19.2461 + dbg.location(160,15);
19.2462 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:160:15: ( optionsSpec )?
19.2463 + int alt22=2;
19.2464 + try { dbg.enterSubRule(22);
19.2465 + try { dbg.enterDecision(22, decisionCanBacktrack[22]);
19.2466 +
19.2467 + int LA22_0 = input.LA(1);
19.2468 +
19.2469 + if ( (LA22_0==OPTIONS) ) {
19.2470 + alt22=1;
19.2471 + }
19.2472 + } finally {dbg.exitDecision(22);}
19.2473 +
19.2474 + switch (alt22) {
19.2475 + case 1 :
19.2476 + dbg.enterAlt(1);
19.2477 +
19.2478 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:160:15: optionsSpec
19.2479 + {
19.2480 + dbg.location(160,15);
19.2481 + pushFollow(FOLLOW_optionsSpec_in_rule909);
19.2482 + optionsSpec48=optionsSpec();
19.2483 +
19.2484 + state._fsp--;
19.2485 + if (state.failed) return retval;
19.2486 + if ( state.backtracking==0 ) stream_optionsSpec.add(optionsSpec48.getTree());
19.2487 +
19.2488 + }
19.2489 + break;
19.2490 +
19.2491 + }
19.2492 + } finally {dbg.exitSubRule(22);}
19.2493 +
19.2494 + dbg.location(160,28);
19.2495 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:160:28: ( ruleScopeSpec )?
19.2496 + int alt23=2;
19.2497 + try { dbg.enterSubRule(23);
19.2498 + try { dbg.enterDecision(23, decisionCanBacktrack[23]);
19.2499 +
19.2500 + int LA23_0 = input.LA(1);
19.2501 +
19.2502 + if ( (LA23_0==SCOPE) ) {
19.2503 + alt23=1;
19.2504 + }
19.2505 + } finally {dbg.exitDecision(23);}
19.2506 +
19.2507 + switch (alt23) {
19.2508 + case 1 :
19.2509 + dbg.enterAlt(1);
19.2510 +
19.2511 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:160:28: ruleScopeSpec
19.2512 + {
19.2513 + dbg.location(160,28);
19.2514 + pushFollow(FOLLOW_ruleScopeSpec_in_rule912);
19.2515 + ruleScopeSpec49=ruleScopeSpec();
19.2516 +
19.2517 + state._fsp--;
19.2518 + if (state.failed) return retval;
19.2519 + if ( state.backtracking==0 ) stream_ruleScopeSpec.add(ruleScopeSpec49.getTree());
19.2520 +
19.2521 + }
19.2522 + break;
19.2523 +
19.2524 + }
19.2525 + } finally {dbg.exitSubRule(23);}
19.2526 +
19.2527 + dbg.location(160,43);
19.2528 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:160:43: ( ruleAction )*
19.2529 + try { dbg.enterSubRule(24);
19.2530 +
19.2531 + loop24:
19.2532 + do {
19.2533 + int alt24=2;
19.2534 + try { dbg.enterDecision(24, decisionCanBacktrack[24]);
19.2535 +
19.2536 + int LA24_0 = input.LA(1);
19.2537 +
19.2538 + if ( (LA24_0==72) ) {
19.2539 + alt24=1;
19.2540 + }
19.2541 +
19.2542 +
19.2543 + } finally {dbg.exitDecision(24);}
19.2544 +
19.2545 + switch (alt24) {
19.2546 + case 1 :
19.2547 + dbg.enterAlt(1);
19.2548 +
19.2549 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:160:43: ruleAction
19.2550 + {
19.2551 + dbg.location(160,43);
19.2552 + pushFollow(FOLLOW_ruleAction_in_rule915);
19.2553 + ruleAction50=ruleAction();
19.2554 +
19.2555 + state._fsp--;
19.2556 + if (state.failed) return retval;
19.2557 + if ( state.backtracking==0 ) stream_ruleAction.add(ruleAction50.getTree());
19.2558 +
19.2559 + }
19.2560 + break;
19.2561 +
19.2562 + default :
19.2563 + break loop24;
19.2564 + }
19.2565 + } while (true);
19.2566 + } finally {dbg.exitSubRule(24);}
19.2567 +
19.2568 + dbg.location(161,3);
19.2569 + char_literal51=(Token)match(input,79,FOLLOW_79_in_rule920); if (state.failed) return retval;
19.2570 + if ( state.backtracking==0 ) stream_79.add(char_literal51);
19.2571 +
19.2572 + dbg.location(161,7);
19.2573 + pushFollow(FOLLOW_altList_in_rule922);
19.2574 + altList52=altList();
19.2575 +
19.2576 + state._fsp--;
19.2577 + if (state.failed) return retval;
19.2578 + if ( state.backtracking==0 ) stream_altList.add(altList52.getTree());
19.2579 + dbg.location(161,15);
19.2580 + char_literal53=(Token)match(input,69,FOLLOW_69_in_rule924); if (state.failed) return retval;
19.2581 + if ( state.backtracking==0 ) stream_69.add(char_literal53);
19.2582 +
19.2583 + dbg.location(162,3);
19.2584 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:162:3: ( exceptionGroup )?
19.2585 + int alt25=2;
19.2586 + try { dbg.enterSubRule(25);
19.2587 + try { dbg.enterDecision(25, decisionCanBacktrack[25]);
19.2588 +
19.2589 + int LA25_0 = input.LA(1);
19.2590 +
19.2591 + if ( ((LA25_0>=85 && LA25_0<=86)) ) {
19.2592 + alt25=1;
19.2593 + }
19.2594 + } finally {dbg.exitDecision(25);}
19.2595 +
19.2596 + switch (alt25) {
19.2597 + case 1 :
19.2598 + dbg.enterAlt(1);
19.2599 +
19.2600 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:162:3: exceptionGroup
19.2601 + {
19.2602 + dbg.location(162,3);
19.2603 + pushFollow(FOLLOW_exceptionGroup_in_rule928);
19.2604 + exceptionGroup54=exceptionGroup();
19.2605 +
19.2606 + state._fsp--;
19.2607 + if (state.failed) return retval;
19.2608 + if ( state.backtracking==0 ) stream_exceptionGroup.add(exceptionGroup54.getTree());
19.2609 +
19.2610 + }
19.2611 + break;
19.2612 +
19.2613 + }
19.2614 + } finally {dbg.exitSubRule(25);}
19.2615 +
19.2616 +
19.2617 +
19.2618 + // AST REWRITE
19.2619 + // elements: ruleAction, arg, optionsSpec, ruleScopeSpec, id, altList, exceptionGroup, rt
19.2620 + // token labels: arg, rt
19.2621 + // rule labels: retval
19.2622 + // token list labels:
19.2623 + // rule list labels:
19.2624 + // wildcard labels:
19.2625 + if ( state.backtracking==0 ) {
19.2626 + retval.tree = root_0;
19.2627 + RewriteRuleTokenStream stream_arg=new RewriteRuleTokenStream(adaptor,"token arg",arg);
19.2628 + RewriteRuleTokenStream stream_rt=new RewriteRuleTokenStream(adaptor,"token rt",rt);
19.2629 + RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);
19.2630 +
19.2631 + root_0 = (CommonTree)adaptor.nil();
19.2632 + // 163:6: -> ^( RULE id ( ^( ARG $arg) )? ( ^( RET $rt) )? ( optionsSpec )? ( ruleScopeSpec )? ( ruleAction )* altList ( exceptionGroup )? EOR[\"EOR\"] )
19.2633 + {
19.2634 + dbg.location(163,9);
19.2635 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:163:9: ^( RULE id ( ^( ARG $arg) )? ( ^( RET $rt) )? ( optionsSpec )? ( ruleScopeSpec )? ( ruleAction )* altList ( exceptionGroup )? EOR[\"EOR\"] )
19.2636 + {
19.2637 + CommonTree root_1 = (CommonTree)adaptor.nil();
19.2638 + dbg.location(163,12);
19.2639 + root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(RULE, "RULE"), root_1);
19.2640 +
19.2641 + dbg.location(163,17);
19.2642 + adaptor.addChild(root_1, stream_id.nextTree());
19.2643 + dbg.location(163,20);
19.2644 + adaptor.addChild(root_1, modifier!=null?adaptor.create(modifier):null);
19.2645 + dbg.location(163,67);
19.2646 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:163:67: ( ^( ARG $arg) )?
19.2647 + if ( stream_arg.hasNext() ) {
19.2648 + dbg.location(163,67);
19.2649 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:163:67: ^( ARG $arg)
19.2650 + {
19.2651 + CommonTree root_2 = (CommonTree)adaptor.nil();
19.2652 + dbg.location(163,69);
19.2653 + root_2 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(ARG, "ARG"), root_2);
19.2654 +
19.2655 + dbg.location(163,73);
19.2656 + adaptor.addChild(root_2, stream_arg.nextNode());
19.2657 +
19.2658 + adaptor.addChild(root_1, root_2);
19.2659 + }
19.2660 +
19.2661 + }
19.2662 + stream_arg.reset();
19.2663 + dbg.location(163,80);
19.2664 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:163:80: ( ^( RET $rt) )?
19.2665 + if ( stream_rt.hasNext() ) {
19.2666 + dbg.location(163,80);
19.2667 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:163:80: ^( RET $rt)
19.2668 + {
19.2669 + CommonTree root_2 = (CommonTree)adaptor.nil();
19.2670 + dbg.location(163,82);
19.2671 + root_2 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(RET, "RET"), root_2);
19.2672 +
19.2673 + dbg.location(163,86);
19.2674 + adaptor.addChild(root_2, stream_rt.nextNode());
19.2675 +
19.2676 + adaptor.addChild(root_1, root_2);
19.2677 + }
19.2678 +
19.2679 + }
19.2680 + stream_rt.reset();
19.2681 + dbg.location(164,9);
19.2682 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:164:9: ( optionsSpec )?
19.2683 + if ( stream_optionsSpec.hasNext() ) {
19.2684 + dbg.location(164,9);
19.2685 + adaptor.addChild(root_1, stream_optionsSpec.nextTree());
19.2686 +
19.2687 + }
19.2688 + stream_optionsSpec.reset();
19.2689 + dbg.location(164,22);
19.2690 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:164:22: ( ruleScopeSpec )?
19.2691 + if ( stream_ruleScopeSpec.hasNext() ) {
19.2692 + dbg.location(164,22);
19.2693 + adaptor.addChild(root_1, stream_ruleScopeSpec.nextTree());
19.2694 +
19.2695 + }
19.2696 + stream_ruleScopeSpec.reset();
19.2697 + dbg.location(164,37);
19.2698 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:164:37: ( ruleAction )*
19.2699 + while ( stream_ruleAction.hasNext() ) {
19.2700 + dbg.location(164,37);
19.2701 + adaptor.addChild(root_1, stream_ruleAction.nextTree());
19.2702 +
19.2703 + }
19.2704 + stream_ruleAction.reset();
19.2705 + dbg.location(165,9);
19.2706 + adaptor.addChild(root_1, stream_altList.nextTree());
19.2707 + dbg.location(166,9);
19.2708 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:166:9: ( exceptionGroup )?
19.2709 + if ( stream_exceptionGroup.hasNext() ) {
19.2710 + dbg.location(166,9);
19.2711 + adaptor.addChild(root_1, stream_exceptionGroup.nextTree());
19.2712 +
19.2713 + }
19.2714 + stream_exceptionGroup.reset();
19.2715 + dbg.location(167,9);
19.2716 + adaptor.addChild(root_1, (CommonTree)adaptor.create(EOR, "EOR"));
19.2717 +
19.2718 + adaptor.addChild(root_0, root_1);
19.2719 + }
19.2720 +
19.2721 + }
19.2722 +
19.2723 + retval.tree = root_0;}
19.2724 + }
19.2725 +
19.2726 + retval.stop = input.LT(-1);
19.2727 +
19.2728 + if ( state.backtracking==0 ) {
19.2729 +
19.2730 + retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
19.2731 + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
19.2732 + }
19.2733 + }
19.2734 + catch (RecognitionException re) {
19.2735 + reportError(re);
19.2736 + recover(input,re);
19.2737 + retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re);
19.2738 +
19.2739 + }
19.2740 + finally {
19.2741 + rule_stack.pop();
19.2742 + }
19.2743 + dbg.location(169, 2);
19.2744 +
19.2745 + }
19.2746 + finally {
19.2747 + dbg.exitRule(getGrammarFileName(), "rule");
19.2748 + decRuleLevel();
19.2749 + if ( getRuleLevel()==0 ) {dbg.terminate();}
19.2750 + }
19.2751 +
19.2752 + return retval;
19.2753 + }
19.2754 + // $ANTLR end "rule"
19.2755 +
19.2756 + public static class ruleAction_return extends ParserRuleReturnScope {
19.2757 + CommonTree tree;
19.2758 + public Object getTree() { return tree; }
19.2759 + };
19.2760 +
19.2761 + // $ANTLR start "ruleAction"
19.2762 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:171:1: ruleAction : '@' id ACTION -> ^( '@' id ACTION ) ;
19.2763 + public final ANTLRv3Parser.ruleAction_return ruleAction() throws RecognitionException {
19.2764 + ANTLRv3Parser.ruleAction_return retval = new ANTLRv3Parser.ruleAction_return();
19.2765 + retval.start = input.LT(1);
19.2766 +
19.2767 + CommonTree root_0 = null;
19.2768 +
19.2769 + Token char_literal55=null;
19.2770 + Token ACTION57=null;
19.2771 + ANTLRv3Parser.id_return id56 = null;
19.2772 +
19.2773 +
19.2774 + CommonTree char_literal55_tree=null;
19.2775 + CommonTree ACTION57_tree=null;
19.2776 + RewriteRuleTokenStream stream_72=new RewriteRuleTokenStream(adaptor,"token 72");
19.2777 + RewriteRuleTokenStream stream_ACTION=new RewriteRuleTokenStream(adaptor,"token ACTION");
19.2778 + RewriteRuleSubtreeStream stream_id=new RewriteRuleSubtreeStream(adaptor,"rule id");
19.2779 + try { dbg.enterRule(getGrammarFileName(), "ruleAction");
19.2780 + if ( getRuleLevel()==0 ) {dbg.commence();}
19.2781 + incRuleLevel();
19.2782 + dbg.location(171, 1);
19.2783 +
19.2784 + try {
19.2785 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:173:2: ( '@' id ACTION -> ^( '@' id ACTION ) )
19.2786 + dbg.enterAlt(1);
19.2787 +
19.2788 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:173:4: '@' id ACTION
19.2789 + {
19.2790 + dbg.location(173,4);
19.2791 + char_literal55=(Token)match(input,72,FOLLOW_72_in_ruleAction1030); if (state.failed) return retval;
19.2792 + if ( state.backtracking==0 ) stream_72.add(char_literal55);
19.2793 +
19.2794 + dbg.location(173,8);
19.2795 + pushFollow(FOLLOW_id_in_ruleAction1032);
19.2796 + id56=id();
19.2797 +
19.2798 + state._fsp--;
19.2799 + if (state.failed) return retval;
19.2800 + if ( state.backtracking==0 ) stream_id.add(id56.getTree());
19.2801 + dbg.location(173,11);
19.2802 + ACTION57=(Token)match(input,ACTION,FOLLOW_ACTION_in_ruleAction1034); if (state.failed) return retval;
19.2803 + if ( state.backtracking==0 ) stream_ACTION.add(ACTION57);
19.2804 +
19.2805 +
19.2806 +
19.2807 + // AST REWRITE
19.2808 + // elements: id, 72, ACTION
19.2809 + // token labels:
19.2810 + // rule labels: retval
19.2811 + // token list labels:
19.2812 + // rule list labels:
19.2813 + // wildcard labels:
19.2814 + if ( state.backtracking==0 ) {
19.2815 + retval.tree = root_0;
19.2816 + RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);
19.2817 +
19.2818 + root_0 = (CommonTree)adaptor.nil();
19.2819 + // 173:18: -> ^( '@' id ACTION )
19.2820 + {
19.2821 + dbg.location(173,21);
19.2822 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:173:21: ^( '@' id ACTION )
19.2823 + {
19.2824 + CommonTree root_1 = (CommonTree)adaptor.nil();
19.2825 + dbg.location(173,23);
19.2826 + root_1 = (CommonTree)adaptor.becomeRoot(stream_72.nextNode(), root_1);
19.2827 +
19.2828 + dbg.location(173,27);
19.2829 + adaptor.addChild(root_1, stream_id.nextTree());
19.2830 + dbg.location(173,30);
19.2831 + adaptor.addChild(root_1, stream_ACTION.nextNode());
19.2832 +
19.2833 + adaptor.addChild(root_0, root_1);
19.2834 + }
19.2835 +
19.2836 + }
19.2837 +
19.2838 + retval.tree = root_0;}
19.2839 + }
19.2840 +
19.2841 + retval.stop = input.LT(-1);
19.2842 +
19.2843 + if ( state.backtracking==0 ) {
19.2844 +
19.2845 + retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
19.2846 + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
19.2847 + }
19.2848 + }
19.2849 + catch (RecognitionException re) {
19.2850 + reportError(re);
19.2851 + recover(input,re);
19.2852 + retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re);
19.2853 +
19.2854 + }
19.2855 + finally {
19.2856 + }
19.2857 + dbg.location(174, 2);
19.2858 +
19.2859 + }
19.2860 + finally {
19.2861 + dbg.exitRule(getGrammarFileName(), "ruleAction");
19.2862 + decRuleLevel();
19.2863 + if ( getRuleLevel()==0 ) {dbg.terminate();}
19.2864 + }
19.2865 +
19.2866 + return retval;
19.2867 + }
19.2868 + // $ANTLR end "ruleAction"
19.2869 +
19.2870 + public static class throwsSpec_return extends ParserRuleReturnScope {
19.2871 + CommonTree tree;
19.2872 + public Object getTree() { return tree; }
19.2873 + };
19.2874 +
19.2875 + // $ANTLR start "throwsSpec"
19.2876 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:176:1: throwsSpec : 'throws' id ( ',' id )* -> ^( 'throws' ( id )+ ) ;
19.2877 + public final ANTLRv3Parser.throwsSpec_return throwsSpec() throws RecognitionException {
19.2878 + ANTLRv3Parser.throwsSpec_return retval = new ANTLRv3Parser.throwsSpec_return();
19.2879 + retval.start = input.LT(1);
19.2880 +
19.2881 + CommonTree root_0 = null;
19.2882 +
19.2883 + Token string_literal58=null;
19.2884 + Token char_literal60=null;
19.2885 + ANTLRv3Parser.id_return id59 = null;
19.2886 +
19.2887 + ANTLRv3Parser.id_return id61 = null;
19.2888 +
19.2889 +
19.2890 + CommonTree string_literal58_tree=null;
19.2891 + CommonTree char_literal60_tree=null;
19.2892 + RewriteRuleTokenStream stream_80=new RewriteRuleTokenStream(adaptor,"token 80");
19.2893 + RewriteRuleTokenStream stream_81=new RewriteRuleTokenStream(adaptor,"token 81");
19.2894 + RewriteRuleSubtreeStream stream_id=new RewriteRuleSubtreeStream(adaptor,"rule id");
19.2895 + try { dbg.enterRule(getGrammarFileName(), "throwsSpec");
19.2896 + if ( getRuleLevel()==0 ) {dbg.commence();}
19.2897 + incRuleLevel();
19.2898 + dbg.location(176, 1);
19.2899 +
19.2900 + try {
19.2901 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:177:2: ( 'throws' id ( ',' id )* -> ^( 'throws' ( id )+ ) )
19.2902 + dbg.enterAlt(1);
19.2903 +
19.2904 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:177:4: 'throws' id ( ',' id )*
19.2905 + {
19.2906 + dbg.location(177,4);
19.2907 + string_literal58=(Token)match(input,80,FOLLOW_80_in_throwsSpec1055); if (state.failed) return retval;
19.2908 + if ( state.backtracking==0 ) stream_80.add(string_literal58);
19.2909 +
19.2910 + dbg.location(177,13);
19.2911 + pushFollow(FOLLOW_id_in_throwsSpec1057);
19.2912 + id59=id();
19.2913 +
19.2914 + state._fsp--;
19.2915 + if (state.failed) return retval;
19.2916 + if ( state.backtracking==0 ) stream_id.add(id59.getTree());
19.2917 + dbg.location(177,16);
19.2918 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:177:16: ( ',' id )*
19.2919 + try { dbg.enterSubRule(26);
19.2920 +
19.2921 + loop26:
19.2922 + do {
19.2923 + int alt26=2;
19.2924 + try { dbg.enterDecision(26, decisionCanBacktrack[26]);
19.2925 +
19.2926 + int LA26_0 = input.LA(1);
19.2927 +
19.2928 + if ( (LA26_0==81) ) {
19.2929 + alt26=1;
19.2930 + }
19.2931 +
19.2932 +
19.2933 + } finally {dbg.exitDecision(26);}
19.2934 +
19.2935 + switch (alt26) {
19.2936 + case 1 :
19.2937 + dbg.enterAlt(1);
19.2938 +
19.2939 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:177:18: ',' id
19.2940 + {
19.2941 + dbg.location(177,18);
19.2942 + char_literal60=(Token)match(input,81,FOLLOW_81_in_throwsSpec1061); if (state.failed) return retval;
19.2943 + if ( state.backtracking==0 ) stream_81.add(char_literal60);
19.2944 +
19.2945 + dbg.location(177,22);
19.2946 + pushFollow(FOLLOW_id_in_throwsSpec1063);
19.2947 + id61=id();
19.2948 +
19.2949 + state._fsp--;
19.2950 + if (state.failed) return retval;
19.2951 + if ( state.backtracking==0 ) stream_id.add(id61.getTree());
19.2952 +
19.2953 + }
19.2954 + break;
19.2955 +
19.2956 + default :
19.2957 + break loop26;
19.2958 + }
19.2959 + } while (true);
19.2960 + } finally {dbg.exitSubRule(26);}
19.2961 +
19.2962 +
19.2963 +
19.2964 + // AST REWRITE
19.2965 + // elements: 80, id
19.2966 + // token labels:
19.2967 + // rule labels: retval
19.2968 + // token list labels:
19.2969 + // rule list labels:
19.2970 + // wildcard labels:
19.2971 + if ( state.backtracking==0 ) {
19.2972 + retval.tree = root_0;
19.2973 + RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);
19.2974 +
19.2975 + root_0 = (CommonTree)adaptor.nil();
19.2976 + // 177:28: -> ^( 'throws' ( id )+ )
19.2977 + {
19.2978 + dbg.location(177,31);
19.2979 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:177:31: ^( 'throws' ( id )+ )
19.2980 + {
19.2981 + CommonTree root_1 = (CommonTree)adaptor.nil();
19.2982 + dbg.location(177,33);
19.2983 + root_1 = (CommonTree)adaptor.becomeRoot(stream_80.nextNode(), root_1);
19.2984 +
19.2985 + dbg.location(177,42);
19.2986 + if ( !(stream_id.hasNext()) ) {
19.2987 + throw new RewriteEarlyExitException();
19.2988 + }
19.2989 + while ( stream_id.hasNext() ) {
19.2990 + dbg.location(177,42);
19.2991 + adaptor.addChild(root_1, stream_id.nextTree());
19.2992 +
19.2993 + }
19.2994 + stream_id.reset();
19.2995 +
19.2996 + adaptor.addChild(root_0, root_1);
19.2997 + }
19.2998 +
19.2999 + }
19.3000 +
19.3001 + retval.tree = root_0;}
19.3002 + }
19.3003 +
19.3004 + retval.stop = input.LT(-1);
19.3005 +
19.3006 + if ( state.backtracking==0 ) {
19.3007 +
19.3008 + retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
19.3009 + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
19.3010 + }
19.3011 + }
19.3012 + catch (RecognitionException re) {
19.3013 + reportError(re);
19.3014 + recover(input,re);
19.3015 + retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re);
19.3016 +
19.3017 + }
19.3018 + finally {
19.3019 + }
19.3020 + dbg.location(178, 2);
19.3021 +
19.3022 + }
19.3023 + finally {
19.3024 + dbg.exitRule(getGrammarFileName(), "throwsSpec");
19.3025 + decRuleLevel();
19.3026 + if ( getRuleLevel()==0 ) {dbg.terminate();}
19.3027 + }
19.3028 +
19.3029 + return retval;
19.3030 + }
19.3031 + // $ANTLR end "throwsSpec"
19.3032 +
19.3033 + public static class ruleScopeSpec_return extends ParserRuleReturnScope {
19.3034 + CommonTree tree;
19.3035 + public Object getTree() { return tree; }
19.3036 + };
19.3037 +
19.3038 + // $ANTLR start "ruleScopeSpec"
19.3039 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:180:1: ruleScopeSpec : ( 'scope' ACTION -> ^( 'scope' ACTION ) | 'scope' id ( ',' id )* ';' -> ^( 'scope' ( id )+ ) | 'scope' ACTION 'scope' id ( ',' id )* ';' -> ^( 'scope' ACTION ( id )+ ) );
19.3040 + public final ANTLRv3Parser.ruleScopeSpec_return ruleScopeSpec() throws RecognitionException {
19.3041 + ANTLRv3Parser.ruleScopeSpec_return retval = new ANTLRv3Parser.ruleScopeSpec_return();
19.3042 + retval.start = input.LT(1);
19.3043 +
19.3044 + CommonTree root_0 = null;
19.3045 +
19.3046 + Token string_literal62=null;
19.3047 + Token ACTION63=null;
19.3048 + Token string_literal64=null;
19.3049 + Token char_literal66=null;
19.3050 + Token char_literal68=null;
19.3051 + Token string_literal69=null;
19.3052 + Token ACTION70=null;
19.3053 + Token string_literal71=null;
19.3054 + Token char_literal73=null;
19.3055 + Token char_literal75=null;
19.3056 + ANTLRv3Parser.id_return id65 = null;
19.3057 +
19.3058 + ANTLRv3Parser.id_return id67 = null;
19.3059 +
19.3060 + ANTLRv3Parser.id_return id72 = null;
19.3061 +
19.3062 + ANTLRv3Parser.id_return id74 = null;
19.3063 +
19.3064 +
19.3065 + CommonTree string_literal62_tree=null;
19.3066 + CommonTree ACTION63_tree=null;
19.3067 + CommonTree string_literal64_tree=null;
19.3068 + CommonTree char_literal66_tree=null;
19.3069 + CommonTree char_literal68_tree=null;
19.3070 + CommonTree string_literal69_tree=null;
19.3071 + CommonTree ACTION70_tree=null;
19.3072 + CommonTree string_literal71_tree=null;
19.3073 + CommonTree char_literal73_tree=null;
19.3074 + CommonTree char_literal75_tree=null;
19.3075 + RewriteRuleTokenStream stream_69=new RewriteRuleTokenStream(adaptor,"token 69");
19.3076 + RewriteRuleTokenStream stream_SCOPE=new RewriteRuleTokenStream(adaptor,"token SCOPE");
19.3077 + RewriteRuleTokenStream stream_81=new RewriteRuleTokenStream(adaptor,"token 81");
19.3078 + RewriteRuleTokenStream stream_ACTION=new RewriteRuleTokenStream(adaptor,"token ACTION");
19.3079 + RewriteRuleSubtreeStream stream_id=new RewriteRuleSubtreeStream(adaptor,"rule id");
19.3080 + try { dbg.enterRule(getGrammarFileName(), "ruleScopeSpec");
19.3081 + if ( getRuleLevel()==0 ) {dbg.commence();}
19.3082 + incRuleLevel();
19.3083 + dbg.location(180, 1);
19.3084 +
19.3085 + try {
19.3086 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:181:2: ( 'scope' ACTION -> ^( 'scope' ACTION ) | 'scope' id ( ',' id )* ';' -> ^( 'scope' ( id )+ ) | 'scope' ACTION 'scope' id ( ',' id )* ';' -> ^( 'scope' ACTION ( id )+ ) )
19.3087 + int alt29=3;
19.3088 + try { dbg.enterDecision(29, decisionCanBacktrack[29]);
19.3089 +
19.3090 + int LA29_0 = input.LA(1);
19.3091 +
19.3092 + if ( (LA29_0==SCOPE) ) {
19.3093 + int LA29_1 = input.LA(2);
19.3094 +
19.3095 + if ( (LA29_1==ACTION) ) {
19.3096 + int LA29_2 = input.LA(3);
19.3097 +
19.3098 + if ( (LA29_2==SCOPE) ) {
19.3099 + alt29=3;
19.3100 + }
19.3101 + else if ( (LA29_2==72||LA29_2==79) ) {
19.3102 + alt29=1;
19.3103 + }
19.3104 + else {
19.3105 + if (state.backtracking>0) {state.failed=true; return retval;}
19.3106 + NoViableAltException nvae =
19.3107 + new NoViableAltException("", 29, 2, input);
19.3108 +
19.3109 + dbg.recognitionException(nvae);
19.3110 + throw nvae;
19.3111 + }
19.3112 + }
19.3113 + else if ( (LA29_1==TOKEN_REF||LA29_1==RULE_REF) ) {
19.3114 + alt29=2;
19.3115 + }
19.3116 + else {
19.3117 + if (state.backtracking>0) {state.failed=true; return retval;}
19.3118 + NoViableAltException nvae =
19.3119 + new NoViableAltException("", 29, 1, input);
19.3120 +
19.3121 + dbg.recognitionException(nvae);
19.3122 + throw nvae;
19.3123 + }
19.3124 + }
19.3125 + else {
19.3126 + if (state.backtracking>0) {state.failed=true; return retval;}
19.3127 + NoViableAltException nvae =
19.3128 + new NoViableAltException("", 29, 0, input);
19.3129 +
19.3130 + dbg.recognitionException(nvae);
19.3131 + throw nvae;
19.3132 + }
19.3133 + } finally {dbg.exitDecision(29);}
19.3134 +
19.3135 + switch (alt29) {
19.3136 + case 1 :
19.3137 + dbg.enterAlt(1);
19.3138 +
19.3139 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:181:4: 'scope' ACTION
19.3140 + {
19.3141 + dbg.location(181,4);
19.3142 + string_literal62=(Token)match(input,SCOPE,FOLLOW_SCOPE_in_ruleScopeSpec1086); if (state.failed) return retval;
19.3143 + if ( state.backtracking==0 ) stream_SCOPE.add(string_literal62);
19.3144 +
19.3145 + dbg.location(181,12);
19.3146 + ACTION63=(Token)match(input,ACTION,FOLLOW_ACTION_in_ruleScopeSpec1088); if (state.failed) return retval;
19.3147 + if ( state.backtracking==0 ) stream_ACTION.add(ACTION63);
19.3148 +
19.3149 +
19.3150 +
19.3151 + // AST REWRITE
19.3152 + // elements: SCOPE, ACTION
19.3153 + // token labels:
19.3154 + // rule labels: retval
19.3155 + // token list labels:
19.3156 + // rule list labels:
19.3157 + // wildcard labels:
19.3158 + if ( state.backtracking==0 ) {
19.3159 + retval.tree = root_0;
19.3160 + RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);
19.3161 +
19.3162 + root_0 = (CommonTree)adaptor.nil();
19.3163 + // 181:19: -> ^( 'scope' ACTION )
19.3164 + {
19.3165 + dbg.location(181,22);
19.3166 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:181:22: ^( 'scope' ACTION )
19.3167 + {
19.3168 + CommonTree root_1 = (CommonTree)adaptor.nil();
19.3169 + dbg.location(181,24);
19.3170 + root_1 = (CommonTree)adaptor.becomeRoot(stream_SCOPE.nextNode(), root_1);
19.3171 +
19.3172 + dbg.location(181,32);
19.3173 + adaptor.addChild(root_1, stream_ACTION.nextNode());
19.3174 +
19.3175 + adaptor.addChild(root_0, root_1);
19.3176 + }
19.3177 +
19.3178 + }
19.3179 +
19.3180 + retval.tree = root_0;}
19.3181 + }
19.3182 + break;
19.3183 + case 2 :
19.3184 + dbg.enterAlt(2);
19.3185 +
19.3186 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:182:4: 'scope' id ( ',' id )* ';'
19.3187 + {
19.3188 + dbg.location(182,4);
19.3189 + string_literal64=(Token)match(input,SCOPE,FOLLOW_SCOPE_in_ruleScopeSpec1101); if (state.failed) return retval;
19.3190 + if ( state.backtracking==0 ) stream_SCOPE.add(string_literal64);
19.3191 +
19.3192 + dbg.location(182,12);
19.3193 + pushFollow(FOLLOW_id_in_ruleScopeSpec1103);
19.3194 + id65=id();
19.3195 +
19.3196 + state._fsp--;
19.3197 + if (state.failed) return retval;
19.3198 + if ( state.backtracking==0 ) stream_id.add(id65.getTree());
19.3199 + dbg.location(182,15);
19.3200 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:182:15: ( ',' id )*
19.3201 + try { dbg.enterSubRule(27);
19.3202 +
19.3203 + loop27:
19.3204 + do {
19.3205 + int alt27=2;
19.3206 + try { dbg.enterDecision(27, decisionCanBacktrack[27]);
19.3207 +
19.3208 + int LA27_0 = input.LA(1);
19.3209 +
19.3210 + if ( (LA27_0==81) ) {
19.3211 + alt27=1;
19.3212 + }
19.3213 +
19.3214 +
19.3215 + } finally {dbg.exitDecision(27);}
19.3216 +
19.3217 + switch (alt27) {
19.3218 + case 1 :
19.3219 + dbg.enterAlt(1);
19.3220 +
19.3221 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:182:16: ',' id
19.3222 + {
19.3223 + dbg.location(182,16);
19.3224 + char_literal66=(Token)match(input,81,FOLLOW_81_in_ruleScopeSpec1106); if (state.failed) return retval;
19.3225 + if ( state.backtracking==0 ) stream_81.add(char_literal66);
19.3226 +
19.3227 + dbg.location(182,20);
19.3228 + pushFollow(FOLLOW_id_in_ruleScopeSpec1108);
19.3229 + id67=id();
19.3230 +
19.3231 + state._fsp--;
19.3232 + if (state.failed) return retval;
19.3233 + if ( state.backtracking==0 ) stream_id.add(id67.getTree());
19.3234 +
19.3235 + }
19.3236 + break;
19.3237 +
19.3238 + default :
19.3239 + break loop27;
19.3240 + }
19.3241 + } while (true);
19.3242 + } finally {dbg.exitSubRule(27);}
19.3243 +
19.3244 + dbg.location(182,25);
19.3245 + char_literal68=(Token)match(input,69,FOLLOW_69_in_ruleScopeSpec1112); if (state.failed) return retval;
19.3246 + if ( state.backtracking==0 ) stream_69.add(char_literal68);
19.3247 +
19.3248 +
19.3249 +
19.3250 + // AST REWRITE
19.3251 + // elements: SCOPE, id
19.3252 + // token labels:
19.3253 + // rule labels: retval
19.3254 + // token list labels:
19.3255 + // rule list labels:
19.3256 + // wildcard labels:
19.3257 + if ( state.backtracking==0 ) {
19.3258 + retval.tree = root_0;
19.3259 + RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);
19.3260 +
19.3261 + root_0 = (CommonTree)adaptor.nil();
19.3262 + // 182:29: -> ^( 'scope' ( id )+ )
19.3263 + {
19.3264 + dbg.location(182,32);
19.3265 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:182:32: ^( 'scope' ( id )+ )
19.3266 + {
19.3267 + CommonTree root_1 = (CommonTree)adaptor.nil();
19.3268 + dbg.location(182,34);
19.3269 + root_1 = (CommonTree)adaptor.becomeRoot(stream_SCOPE.nextNode(), root_1);
19.3270 +
19.3271 + dbg.location(182,42);
19.3272 + if ( !(stream_id.hasNext()) ) {
19.3273 + throw new RewriteEarlyExitException();
19.3274 + }
19.3275 + while ( stream_id.hasNext() ) {
19.3276 + dbg.location(182,42);
19.3277 + adaptor.addChild(root_1, stream_id.nextTree());
19.3278 +
19.3279 + }
19.3280 + stream_id.reset();
19.3281 +
19.3282 + adaptor.addChild(root_0, root_1);
19.3283 + }
19.3284 +
19.3285 + }
19.3286 +
19.3287 + retval.tree = root_0;}
19.3288 + }
19.3289 + break;
19.3290 + case 3 :
19.3291 + dbg.enterAlt(3);
19.3292 +
19.3293 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:183:4: 'scope' ACTION 'scope' id ( ',' id )* ';'
19.3294 + {
19.3295 + dbg.location(183,4);
19.3296 + string_literal69=(Token)match(input,SCOPE,FOLLOW_SCOPE_in_ruleScopeSpec1126); if (state.failed) return retval;
19.3297 + if ( state.backtracking==0 ) stream_SCOPE.add(string_literal69);
19.3298 +
19.3299 + dbg.location(183,12);
19.3300 + ACTION70=(Token)match(input,ACTION,FOLLOW_ACTION_in_ruleScopeSpec1128); if (state.failed) return retval;
19.3301 + if ( state.backtracking==0 ) stream_ACTION.add(ACTION70);
19.3302 +
19.3303 + dbg.location(184,3);
19.3304 + string_literal71=(Token)match(input,SCOPE,FOLLOW_SCOPE_in_ruleScopeSpec1132); if (state.failed) return retval;
19.3305 + if ( state.backtracking==0 ) stream_SCOPE.add(string_literal71);
19.3306 +
19.3307 + dbg.location(184,11);
19.3308 + pushFollow(FOLLOW_id_in_ruleScopeSpec1134);
19.3309 + id72=id();
19.3310 +
19.3311 + state._fsp--;
19.3312 + if (state.failed) return retval;
19.3313 + if ( state.backtracking==0 ) stream_id.add(id72.getTree());
19.3314 + dbg.location(184,14);
19.3315 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:184:14: ( ',' id )*
19.3316 + try { dbg.enterSubRule(28);
19.3317 +
19.3318 + loop28:
19.3319 + do {
19.3320 + int alt28=2;
19.3321 + try { dbg.enterDecision(28, decisionCanBacktrack[28]);
19.3322 +
19.3323 + int LA28_0 = input.LA(1);
19.3324 +
19.3325 + if ( (LA28_0==81) ) {
19.3326 + alt28=1;
19.3327 + }
19.3328 +
19.3329 +
19.3330 + } finally {dbg.exitDecision(28);}
19.3331 +
19.3332 + switch (alt28) {
19.3333 + case 1 :
19.3334 + dbg.enterAlt(1);
19.3335 +
19.3336 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:184:15: ',' id
19.3337 + {
19.3338 + dbg.location(184,15);
19.3339 + char_literal73=(Token)match(input,81,FOLLOW_81_in_ruleScopeSpec1137); if (state.failed) return retval;
19.3340 + if ( state.backtracking==0 ) stream_81.add(char_literal73);
19.3341 +
19.3342 + dbg.location(184,19);
19.3343 + pushFollow(FOLLOW_id_in_ruleScopeSpec1139);
19.3344 + id74=id();
19.3345 +
19.3346 + state._fsp--;
19.3347 + if (state.failed) return retval;
19.3348 + if ( state.backtracking==0 ) stream_id.add(id74.getTree());
19.3349 +
19.3350 + }
19.3351 + break;
19.3352 +
19.3353 + default :
19.3354 + break loop28;
19.3355 + }
19.3356 + } while (true);
19.3357 + } finally {dbg.exitSubRule(28);}
19.3358 +
19.3359 + dbg.location(184,24);
19.3360 + char_literal75=(Token)match(input,69,FOLLOW_69_in_ruleScopeSpec1143); if (state.failed) return retval;
19.3361 + if ( state.backtracking==0 ) stream_69.add(char_literal75);
19.3362 +
19.3363 +
19.3364 +
19.3365 + // AST REWRITE
19.3366 + // elements: id, ACTION, SCOPE
19.3367 + // token labels:
19.3368 + // rule labels: retval
19.3369 + // token list labels:
19.3370 + // rule list labels:
19.3371 + // wildcard labels:
19.3372 + if ( state.backtracking==0 ) {
19.3373 + retval.tree = root_0;
19.3374 + RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);
19.3375 +
19.3376 + root_0 = (CommonTree)adaptor.nil();
19.3377 + // 185:3: -> ^( 'scope' ACTION ( id )+ )
19.3378 + {
19.3379 + dbg.location(185,6);
19.3380 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:185:6: ^( 'scope' ACTION ( id )+ )
19.3381 + {
19.3382 + CommonTree root_1 = (CommonTree)adaptor.nil();
19.3383 + dbg.location(185,8);
19.3384 + root_1 = (CommonTree)adaptor.becomeRoot(stream_SCOPE.nextNode(), root_1);
19.3385 +
19.3386 + dbg.location(185,16);
19.3387 + adaptor.addChild(root_1, stream_ACTION.nextNode());
19.3388 + dbg.location(185,23);
19.3389 + if ( !(stream_id.hasNext()) ) {
19.3390 + throw new RewriteEarlyExitException();
19.3391 + }
19.3392 + while ( stream_id.hasNext() ) {
19.3393 + dbg.location(185,23);
19.3394 + adaptor.addChild(root_1, stream_id.nextTree());
19.3395 +
19.3396 + }
19.3397 + stream_id.reset();
19.3398 +
19.3399 + adaptor.addChild(root_0, root_1);
19.3400 + }
19.3401 +
19.3402 + }
19.3403 +
19.3404 + retval.tree = root_0;}
19.3405 + }
19.3406 + break;
19.3407 +
19.3408 + }
19.3409 + retval.stop = input.LT(-1);
19.3410 +
19.3411 + if ( state.backtracking==0 ) {
19.3412 +
19.3413 + retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
19.3414 + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
19.3415 + }
19.3416 + }
19.3417 + catch (RecognitionException re) {
19.3418 + reportError(re);
19.3419 + recover(input,re);
19.3420 + retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re);
19.3421 +
19.3422 + }
19.3423 + finally {
19.3424 + }
19.3425 + dbg.location(186, 2);
19.3426 +
19.3427 + }
19.3428 + finally {
19.3429 + dbg.exitRule(getGrammarFileName(), "ruleScopeSpec");
19.3430 + decRuleLevel();
19.3431 + if ( getRuleLevel()==0 ) {dbg.terminate();}
19.3432 + }
19.3433 +
19.3434 + return retval;
19.3435 + }
19.3436 + // $ANTLR end "ruleScopeSpec"
19.3437 +
19.3438 + public static class block_return extends ParserRuleReturnScope {
19.3439 + CommonTree tree;
19.3440 + public Object getTree() { return tree; }
19.3441 + };
19.3442 +
19.3443 + // $ANTLR start "block"
19.3444 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:188:1: block : lp= '(' ( (opts= optionsSpec )? ':' )? a1= alternative rewrite ( '|' a2= alternative rewrite )* rp= ')' -> ^( BLOCK[$lp,\"BLOCK\"] ( optionsSpec )? ( alternative ( rewrite )? )+ EOB[$rp,\"EOB\"] ) ;
19.3445 + public final ANTLRv3Parser.block_return block() throws RecognitionException {
19.3446 + ANTLRv3Parser.block_return retval = new ANTLRv3Parser.block_return();
19.3447 + retval.start = input.LT(1);
19.3448 +
19.3449 + CommonTree root_0 = null;
19.3450 +
19.3451 + Token lp=null;
19.3452 + Token rp=null;
19.3453 + Token char_literal76=null;
19.3454 + Token char_literal78=null;
19.3455 + ANTLRv3Parser.optionsSpec_return opts = null;
19.3456 +
19.3457 + ANTLRv3Parser.alternative_return a1 = null;
19.3458 +
19.3459 + ANTLRv3Parser.alternative_return a2 = null;
19.3460 +
19.3461 + ANTLRv3Parser.rewrite_return rewrite77 = null;
19.3462 +
19.3463 + ANTLRv3Parser.rewrite_return rewrite79 = null;
19.3464 +
19.3465 +
19.3466 + CommonTree lp_tree=null;
19.3467 + CommonTree rp_tree=null;
19.3468 + CommonTree char_literal76_tree=null;
19.3469 + CommonTree char_literal78_tree=null;
19.3470 + RewriteRuleTokenStream stream_79=new RewriteRuleTokenStream(adaptor,"token 79");
19.3471 + RewriteRuleTokenStream stream_82=new RewriteRuleTokenStream(adaptor,"token 82");
19.3472 + RewriteRuleTokenStream stream_83=new RewriteRuleTokenStream(adaptor,"token 83");
19.3473 + RewriteRuleTokenStream stream_84=new RewriteRuleTokenStream(adaptor,"token 84");
19.3474 + RewriteRuleSubtreeStream stream_rewrite=new RewriteRuleSubtreeStream(adaptor,"rule rewrite");
19.3475 + RewriteRuleSubtreeStream stream_alternative=new RewriteRuleSubtreeStream(adaptor,"rule alternative");
19.3476 + RewriteRuleSubtreeStream stream_optionsSpec=new RewriteRuleSubtreeStream(adaptor,"rule optionsSpec");
19.3477 + try { dbg.enterRule(getGrammarFileName(), "block");
19.3478 + if ( getRuleLevel()==0 ) {dbg.commence();}
19.3479 + incRuleLevel();
19.3480 + dbg.location(188, 1);
19.3481 +
19.3482 + try {
19.3483 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:189:5: (lp= '(' ( (opts= optionsSpec )? ':' )? a1= alternative rewrite ( '|' a2= alternative rewrite )* rp= ')' -> ^( BLOCK[$lp,\"BLOCK\"] ( optionsSpec )? ( alternative ( rewrite )? )+ EOB[$rp,\"EOB\"] ) )
19.3484 + dbg.enterAlt(1);
19.3485 +
19.3486 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:189:9: lp= '(' ( (opts= optionsSpec )? ':' )? a1= alternative rewrite ( '|' a2= alternative rewrite )* rp= ')'
19.3487 + {
19.3488 + dbg.location(189,11);
19.3489 + lp=(Token)match(input,82,FOLLOW_82_in_block1175); if (state.failed) return retval;
19.3490 + if ( state.backtracking==0 ) stream_82.add(lp);
19.3491 +
19.3492 + dbg.location(190,3);
19.3493 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:190:3: ( (opts= optionsSpec )? ':' )?
19.3494 + int alt31=2;
19.3495 + try { dbg.enterSubRule(31);
19.3496 + try { dbg.enterDecision(31, decisionCanBacktrack[31]);
19.3497 +
19.3498 + int LA31_0 = input.LA(1);
19.3499 +
19.3500 + if ( (LA31_0==OPTIONS||LA31_0==79) ) {
19.3501 + alt31=1;
19.3502 + }
19.3503 + } finally {dbg.exitDecision(31);}
19.3504 +
19.3505 + switch (alt31) {
19.3506 + case 1 :
19.3507 + dbg.enterAlt(1);
19.3508 +
19.3509 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:190:5: (opts= optionsSpec )? ':'
19.3510 + {
19.3511 + dbg.location(190,5);
19.3512 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:190:5: (opts= optionsSpec )?
19.3513 + int alt30=2;
19.3514 + try { dbg.enterSubRule(30);
19.3515 + try { dbg.enterDecision(30, decisionCanBacktrack[30]);
19.3516 +
19.3517 + int LA30_0 = input.LA(1);
19.3518 +
19.3519 + if ( (LA30_0==OPTIONS) ) {
19.3520 + alt30=1;
19.3521 + }
19.3522 + } finally {dbg.exitDecision(30);}
19.3523 +
19.3524 + switch (alt30) {
19.3525 + case 1 :
19.3526 + dbg.enterAlt(1);
19.3527 +
19.3528 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:190:6: opts= optionsSpec
19.3529 + {
19.3530 + dbg.location(190,10);
19.3531 + pushFollow(FOLLOW_optionsSpec_in_block1184);
19.3532 + opts=optionsSpec();
19.3533 +
19.3534 + state._fsp--;
19.3535 + if (state.failed) return retval;
19.3536 + if ( state.backtracking==0 ) stream_optionsSpec.add(opts.getTree());
19.3537 +
19.3538 + }
19.3539 + break;
19.3540 +
19.3541 + }
19.3542 + } finally {dbg.exitSubRule(30);}
19.3543 +
19.3544 + dbg.location(190,25);
19.3545 + char_literal76=(Token)match(input,79,FOLLOW_79_in_block1188); if (state.failed) return retval;
19.3546 + if ( state.backtracking==0 ) stream_79.add(char_literal76);
19.3547 +
19.3548 +
19.3549 + }
19.3550 + break;
19.3551 +
19.3552 + }
19.3553 + } finally {dbg.exitSubRule(31);}
19.3554 +
19.3555 + dbg.location(191,5);
19.3556 + pushFollow(FOLLOW_alternative_in_block1197);
19.3557 + a1=alternative();
19.3558 +
19.3559 + state._fsp--;
19.3560 + if (state.failed) return retval;
19.3561 + if ( state.backtracking==0 ) stream_alternative.add(a1.getTree());
19.3562 + dbg.location(191,18);
19.3563 + pushFollow(FOLLOW_rewrite_in_block1199);
19.3564 + rewrite77=rewrite();
19.3565 +
19.3566 + state._fsp--;
19.3567 + if (state.failed) return retval;
19.3568 + if ( state.backtracking==0 ) stream_rewrite.add(rewrite77.getTree());
19.3569 + dbg.location(191,26);
19.3570 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:191:26: ( '|' a2= alternative rewrite )*
19.3571 + try { dbg.enterSubRule(32);
19.3572 +
19.3573 + loop32:
19.3574 + do {
19.3575 + int alt32=2;
19.3576 + try { dbg.enterDecision(32, decisionCanBacktrack[32]);
19.3577 +
19.3578 + int LA32_0 = input.LA(1);
19.3579 +
19.3580 + if ( (LA32_0==83) ) {
19.3581 + alt32=1;
19.3582 + }
19.3583 +
19.3584 +
19.3585 + } finally {dbg.exitDecision(32);}
19.3586 +
19.3587 + switch (alt32) {
19.3588 + case 1 :
19.3589 + dbg.enterAlt(1);
19.3590 +
19.3591 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:191:28: '|' a2= alternative rewrite
19.3592 + {
19.3593 + dbg.location(191,28);
19.3594 + char_literal78=(Token)match(input,83,FOLLOW_83_in_block1203); if (state.failed) return retval;
19.3595 + if ( state.backtracking==0 ) stream_83.add(char_literal78);
19.3596 +
19.3597 + dbg.location(191,34);
19.3598 + pushFollow(FOLLOW_alternative_in_block1207);
19.3599 + a2=alternative();
19.3600 +
19.3601 + state._fsp--;
19.3602 + if (state.failed) return retval;
19.3603 + if ( state.backtracking==0 ) stream_alternative.add(a2.getTree());
19.3604 + dbg.location(191,47);
19.3605 + pushFollow(FOLLOW_rewrite_in_block1209);
19.3606 + rewrite79=rewrite();
19.3607 +
19.3608 + state._fsp--;
19.3609 + if (state.failed) return retval;
19.3610 + if ( state.backtracking==0 ) stream_rewrite.add(rewrite79.getTree());
19.3611 +
19.3612 + }
19.3613 + break;
19.3614 +
19.3615 + default :
19.3616 + break loop32;
19.3617 + }
19.3618 + } while (true);
19.3619 + } finally {dbg.exitSubRule(32);}
19.3620 +
19.3621 + dbg.location(192,11);
19.3622 + rp=(Token)match(input,84,FOLLOW_84_in_block1224); if (state.failed) return retval;
19.3623 + if ( state.backtracking==0 ) stream_84.add(rp);
19.3624 +
19.3625 +
19.3626 +
19.3627 + // AST REWRITE
19.3628 + // elements: rewrite, optionsSpec, alternative
19.3629 + // token labels:
19.3630 + // rule labels: retval
19.3631 + // token list labels:
19.3632 + // rule list labels:
19.3633 + // wildcard labels:
19.3634 + if ( state.backtracking==0 ) {
19.3635 + retval.tree = root_0;
19.3636 + RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);
19.3637 +
19.3638 + root_0 = (CommonTree)adaptor.nil();
19.3639 + // 193:9: -> ^( BLOCK[$lp,\"BLOCK\"] ( optionsSpec )? ( alternative ( rewrite )? )+ EOB[$rp,\"EOB\"] )
19.3640 + {
19.3641 + dbg.location(193,12);
19.3642 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:193:12: ^( BLOCK[$lp,\"BLOCK\"] ( optionsSpec )? ( alternative ( rewrite )? )+ EOB[$rp,\"EOB\"] )
19.3643 + {
19.3644 + CommonTree root_1 = (CommonTree)adaptor.nil();
19.3645 + dbg.location(193,15);
19.3646 + root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(BLOCK, lp, "BLOCK"), root_1);
19.3647 +
19.3648 + dbg.location(193,34);
19.3649 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:193:34: ( optionsSpec )?
19.3650 + if ( stream_optionsSpec.hasNext() ) {
19.3651 + dbg.location(193,34);
19.3652 + adaptor.addChild(root_1, stream_optionsSpec.nextTree());
19.3653 +
19.3654 + }
19.3655 + stream_optionsSpec.reset();
19.3656 + dbg.location(193,47);
19.3657 + if ( !(stream_alternative.hasNext()) ) {
19.3658 + throw new RewriteEarlyExitException();
19.3659 + }
19.3660 + while ( stream_alternative.hasNext() ) {
19.3661 + dbg.location(193,48);
19.3662 + adaptor.addChild(root_1, stream_alternative.nextTree());
19.3663 + dbg.location(193,60);
19.3664 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:193:60: ( rewrite )?
19.3665 + if ( stream_rewrite.hasNext() ) {
19.3666 + dbg.location(193,60);
19.3667 + adaptor.addChild(root_1, stream_rewrite.nextTree());
19.3668 +
19.3669 + }
19.3670 + stream_rewrite.reset();
19.3671 +
19.3672 + }
19.3673 + stream_alternative.reset();
19.3674 + dbg.location(193,71);
19.3675 + adaptor.addChild(root_1, (CommonTree)adaptor.create(EOB, rp, "EOB"));
19.3676 +
19.3677 + adaptor.addChild(root_0, root_1);
19.3678 + }
19.3679 +
19.3680 + }
19.3681 +
19.3682 + retval.tree = root_0;}
19.3683 + }
19.3684 +
19.3685 + retval.stop = input.LT(-1);
19.3686 +
19.3687 + if ( state.backtracking==0 ) {
19.3688 +
19.3689 + retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
19.3690 + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
19.3691 + }
19.3692 + }
19.3693 + catch (RecognitionException re) {
19.3694 + reportError(re);
19.3695 + recover(input,re);
19.3696 + retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re);
19.3697 +
19.3698 + }
19.3699 + finally {
19.3700 + }
19.3701 + dbg.location(194, 5);
19.3702 +
19.3703 + }
19.3704 + finally {
19.3705 + dbg.exitRule(getGrammarFileName(), "block");
19.3706 + decRuleLevel();
19.3707 + if ( getRuleLevel()==0 ) {dbg.terminate();}
19.3708 + }
19.3709 +
19.3710 + return retval;
19.3711 + }
19.3712 + // $ANTLR end "block"
19.3713 +
19.3714 + public static class altList_return extends ParserRuleReturnScope {
19.3715 + CommonTree tree;
19.3716 + public Object getTree() { return tree; }
19.3717 + };
19.3718 +
19.3719 + // $ANTLR start "altList"
19.3720 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:196:1: altList : a1= alternative rewrite ( '|' a2= alternative rewrite )* -> ^( ( alternative ( rewrite )? )+ EOB[\"EOB\"] ) ;
19.3721 + public final ANTLRv3Parser.altList_return altList() throws RecognitionException {
19.3722 + ANTLRv3Parser.altList_return retval = new ANTLRv3Parser.altList_return();
19.3723 + retval.start = input.LT(1);
19.3724 +
19.3725 + CommonTree root_0 = null;
19.3726 +
19.3727 + Token char_literal81=null;
19.3728 + ANTLRv3Parser.alternative_return a1 = null;
19.3729 +
19.3730 + ANTLRv3Parser.alternative_return a2 = null;
19.3731 +
19.3732 + ANTLRv3Parser.rewrite_return rewrite80 = null;
19.3733 +
19.3734 + ANTLRv3Parser.rewrite_return rewrite82 = null;
19.3735 +
19.3736 +
19.3737 + CommonTree char_literal81_tree=null;
19.3738 + RewriteRuleTokenStream stream_83=new RewriteRuleTokenStream(adaptor,"token 83");
19.3739 + RewriteRuleSubtreeStream stream_rewrite=new RewriteRuleSubtreeStream(adaptor,"rule rewrite");
19.3740 + RewriteRuleSubtreeStream stream_alternative=new RewriteRuleSubtreeStream(adaptor,"rule alternative");
19.3741 +
19.3742 + // must create root manually as it's used by invoked rules in real antlr tool.
19.3743 + // leave here to demonstrate use of {...} in rewrite rule
19.3744 + // it's really BLOCK[firstToken,"BLOCK"]; set line/col to previous ( or : token.
19.3745 + CommonTree blkRoot = (CommonTree)adaptor.create(BLOCK,input.LT(-1),"BLOCK");
19.3746 +
19.3747 + try { dbg.enterRule(getGrammarFileName(), "altList");
19.3748 + if ( getRuleLevel()==0 ) {dbg.commence();}
19.3749 + incRuleLevel();
19.3750 + dbg.location(196, 1);
19.3751 +
19.3752 + try {
19.3753 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:203:5: (a1= alternative rewrite ( '|' a2= alternative rewrite )* -> ^( ( alternative ( rewrite )? )+ EOB[\"EOB\"] ) )
19.3754 + dbg.enterAlt(1);
19.3755 +
19.3756 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:203:9: a1= alternative rewrite ( '|' a2= alternative rewrite )*
19.3757 + {
19.3758 + dbg.location(203,11);
19.3759 + pushFollow(FOLLOW_alternative_in_altList1281);
19.3760 + a1=alternative();
19.3761 +
19.3762 + state._fsp--;
19.3763 + if (state.failed) return retval;
19.3764 + if ( state.backtracking==0 ) stream_alternative.add(a1.getTree());
19.3765 + dbg.location(203,24);
19.3766 + pushFollow(FOLLOW_rewrite_in_altList1283);
19.3767 + rewrite80=rewrite();
19.3768 +
19.3769 + state._fsp--;
19.3770 + if (state.failed) return retval;
19.3771 + if ( state.backtracking==0 ) stream_rewrite.add(rewrite80.getTree());
19.3772 + dbg.location(203,32);
19.3773 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:203:32: ( '|' a2= alternative rewrite )*
19.3774 + try { dbg.enterSubRule(33);
19.3775 +
19.3776 + loop33:
19.3777 + do {
19.3778 + int alt33=2;
19.3779 + try { dbg.enterDecision(33, decisionCanBacktrack[33]);
19.3780 +
19.3781 + int LA33_0 = input.LA(1);
19.3782 +
19.3783 + if ( (LA33_0==83) ) {
19.3784 + alt33=1;
19.3785 + }
19.3786 +
19.3787 +
19.3788 + } finally {dbg.exitDecision(33);}
19.3789 +
19.3790 + switch (alt33) {
19.3791 + case 1 :
19.3792 + dbg.enterAlt(1);
19.3793 +
19.3794 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:203:34: '|' a2= alternative rewrite
19.3795 + {
19.3796 + dbg.location(203,34);
19.3797 + char_literal81=(Token)match(input,83,FOLLOW_83_in_altList1287); if (state.failed) return retval;
19.3798 + if ( state.backtracking==0 ) stream_83.add(char_literal81);
19.3799 +
19.3800 + dbg.location(203,40);
19.3801 + pushFollow(FOLLOW_alternative_in_altList1291);
19.3802 + a2=alternative();
19.3803 +
19.3804 + state._fsp--;
19.3805 + if (state.failed) return retval;
19.3806 + if ( state.backtracking==0 ) stream_alternative.add(a2.getTree());
19.3807 + dbg.location(203,53);
19.3808 + pushFollow(FOLLOW_rewrite_in_altList1293);
19.3809 + rewrite82=rewrite();
19.3810 +
19.3811 + state._fsp--;
19.3812 + if (state.failed) return retval;
19.3813 + if ( state.backtracking==0 ) stream_rewrite.add(rewrite82.getTree());
19.3814 +
19.3815 + }
19.3816 + break;
19.3817 +
19.3818 + default :
19.3819 + break loop33;
19.3820 + }
19.3821 + } while (true);
19.3822 + } finally {dbg.exitSubRule(33);}
19.3823 +
19.3824 +
19.3825 +
19.3826 + // AST REWRITE
19.3827 + // elements: rewrite, alternative
19.3828 + // token labels:
19.3829 + // rule labels: retval
19.3830 + // token list labels:
19.3831 + // rule list labels:
19.3832 + // wildcard labels:
19.3833 + if ( state.backtracking==0 ) {
19.3834 + retval.tree = root_0;
19.3835 + RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);
19.3836 +
19.3837 + root_0 = (CommonTree)adaptor.nil();
19.3838 + // 204:3: -> ^( ( alternative ( rewrite )? )+ EOB[\"EOB\"] )
19.3839 + {
19.3840 + dbg.location(204,6);
19.3841 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:204:6: ^( ( alternative ( rewrite )? )+ EOB[\"EOB\"] )
19.3842 + {
19.3843 + CommonTree root_1 = (CommonTree)adaptor.nil();
19.3844 + dbg.location(204,9);
19.3845 + root_1 = (CommonTree)adaptor.becomeRoot(blkRoot, root_1);
19.3846 +
19.3847 + dbg.location(204,19);
19.3848 + if ( !(stream_alternative.hasNext()) ) {
19.3849 + throw new RewriteEarlyExitException();
19.3850 + }
19.3851 + while ( stream_alternative.hasNext() ) {
19.3852 + dbg.location(204,20);
19.3853 + adaptor.addChild(root_1, stream_alternative.nextTree());
19.3854 + dbg.location(204,32);
19.3855 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:204:32: ( rewrite )?
19.3856 + if ( stream_rewrite.hasNext() ) {
19.3857 + dbg.location(204,32);
19.3858 + adaptor.addChild(root_1, stream_rewrite.nextTree());
19.3859 +
19.3860 + }
19.3861 + stream_rewrite.reset();
19.3862 +
19.3863 + }
19.3864 + stream_alternative.reset();
19.3865 + dbg.location(204,43);
19.3866 + adaptor.addChild(root_1, (CommonTree)adaptor.create(EOB, "EOB"));
19.3867 +
19.3868 + adaptor.addChild(root_0, root_1);
19.3869 + }
19.3870 +
19.3871 + }
19.3872 +
19.3873 + retval.tree = root_0;}
19.3874 + }
19.3875 +
19.3876 + retval.stop = input.LT(-1);
19.3877 +
19.3878 + if ( state.backtracking==0 ) {
19.3879 +
19.3880 + retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
19.3881 + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
19.3882 + }
19.3883 + }
19.3884 + catch (RecognitionException re) {
19.3885 + reportError(re);
19.3886 + recover(input,re);
19.3887 + retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re);
19.3888 +
19.3889 + }
19.3890 + finally {
19.3891 + }
19.3892 + dbg.location(205, 5);
19.3893 +
19.3894 + }
19.3895 + finally {
19.3896 + dbg.exitRule(getGrammarFileName(), "altList");
19.3897 + decRuleLevel();
19.3898 + if ( getRuleLevel()==0 ) {dbg.terminate();}
19.3899 + }
19.3900 +
19.3901 + return retval;
19.3902 + }
19.3903 + // $ANTLR end "altList"
19.3904 +
19.3905 + public static class alternative_return extends ParserRuleReturnScope {
19.3906 + CommonTree tree;
19.3907 + public Object getTree() { return tree; }
19.3908 + };
19.3909 +
19.3910 + // $ANTLR start "alternative"
19.3911 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:207:1: alternative : ( ( element )+ -> ^( ALT[firstToken,\"ALT\"] ( element )+ EOA[\"EOA\"] ) | -> ^( ALT[prevToken,\"ALT\"] EPSILON[prevToken,\"EPSILON\"] EOA[\"EOA\"] ) );
19.3912 + public final ANTLRv3Parser.alternative_return alternative() throws RecognitionException {
19.3913 + ANTLRv3Parser.alternative_return retval = new ANTLRv3Parser.alternative_return();
19.3914 + retval.start = input.LT(1);
19.3915 +
19.3916 + CommonTree root_0 = null;
19.3917 +
19.3918 + ANTLRv3Parser.element_return element83 = null;
19.3919 +
19.3920 +
19.3921 + RewriteRuleSubtreeStream stream_element=new RewriteRuleSubtreeStream(adaptor,"rule element");
19.3922 +
19.3923 + Token firstToken = input.LT(1);
19.3924 + Token prevToken = input.LT(-1); // either : or | I think
19.3925 +
19.3926 + try { dbg.enterRule(getGrammarFileName(), "alternative");
19.3927 + if ( getRuleLevel()==0 ) {dbg.commence();}
19.3928 + incRuleLevel();
19.3929 + dbg.location(207, 1);
19.3930 +
19.3931 + try {
19.3932 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:212:5: ( ( element )+ -> ^( ALT[firstToken,\"ALT\"] ( element )+ EOA[\"EOA\"] ) | -> ^( ALT[prevToken,\"ALT\"] EPSILON[prevToken,\"EPSILON\"] EOA[\"EOA\"] ) )
19.3933 + int alt35=2;
19.3934 + try { dbg.enterDecision(35, decisionCanBacktrack[35]);
19.3935 +
19.3936 + int LA35_0 = input.LA(1);
19.3937 +
19.3938 + if ( (LA35_0==SEMPRED||LA35_0==TREE_BEGIN||(LA35_0>=TOKEN_REF && LA35_0<=ACTION)||LA35_0==RULE_REF||LA35_0==82||LA35_0==89||LA35_0==92) ) {
19.3939 + alt35=1;
19.3940 + }
19.3941 + else if ( (LA35_0==REWRITE||LA35_0==69||(LA35_0>=83 && LA35_0<=84)) ) {
19.3942 + alt35=2;
19.3943 + }
19.3944 + else {
19.3945 + if (state.backtracking>0) {state.failed=true; return retval;}
19.3946 + NoViableAltException nvae =
19.3947 + new NoViableAltException("", 35, 0, input);
19.3948 +
19.3949 + dbg.recognitionException(nvae);
19.3950 + throw nvae;
19.3951 + }
19.3952 + } finally {dbg.exitDecision(35);}
19.3953 +
19.3954 + switch (alt35) {
19.3955 + case 1 :
19.3956 + dbg.enterAlt(1);
19.3957 +
19.3958 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:212:9: ( element )+
19.3959 + {
19.3960 + dbg.location(212,9);
19.3961 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:212:9: ( element )+
19.3962 + int cnt34=0;
19.3963 + try { dbg.enterSubRule(34);
19.3964 +
19.3965 + loop34:
19.3966 + do {
19.3967 + int alt34=2;
19.3968 + try { dbg.enterDecision(34, decisionCanBacktrack[34]);
19.3969 +
19.3970 + int LA34_0 = input.LA(1);
19.3971 +
19.3972 + if ( (LA34_0==SEMPRED||LA34_0==TREE_BEGIN||(LA34_0>=TOKEN_REF && LA34_0<=ACTION)||LA34_0==RULE_REF||LA34_0==82||LA34_0==89||LA34_0==92) ) {
19.3973 + alt34=1;
19.3974 + }
19.3975 +
19.3976 +
19.3977 + } finally {dbg.exitDecision(34);}
19.3978 +
19.3979 + switch (alt34) {
19.3980 + case 1 :
19.3981 + dbg.enterAlt(1);
19.3982 +
19.3983 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:212:9: element
19.3984 + {
19.3985 + dbg.location(212,9);
19.3986 + pushFollow(FOLLOW_element_in_alternative1341);
19.3987 + element83=element();
19.3988 +
19.3989 + state._fsp--;
19.3990 + if (state.failed) return retval;
19.3991 + if ( state.backtracking==0 ) stream_element.add(element83.getTree());
19.3992 +
19.3993 + }
19.3994 + break;
19.3995 +
19.3996 + default :
19.3997 + if ( cnt34 >= 1 ) break loop34;
19.3998 + if (state.backtracking>0) {state.failed=true; return retval;}
19.3999 + EarlyExitException eee =
19.4000 + new EarlyExitException(34, input);
19.4001 + dbg.recognitionException(eee);
19.4002 +
19.4003 + throw eee;
19.4004 + }
19.4005 + cnt34++;
19.4006 + } while (true);
19.4007 + } finally {dbg.exitSubRule(34);}
19.4008 +
19.4009 +
19.4010 +
19.4011 + // AST REWRITE
19.4012 + // elements: element
19.4013 + // token labels:
19.4014 + // rule labels: retval
19.4015 + // token list labels:
19.4016 + // rule list labels:
19.4017 + // wildcard labels:
19.4018 + if ( state.backtracking==0 ) {
19.4019 + retval.tree = root_0;
19.4020 + RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);
19.4021 +
19.4022 + root_0 = (CommonTree)adaptor.nil();
19.4023 + // 212:18: -> ^( ALT[firstToken,\"ALT\"] ( element )+ EOA[\"EOA\"] )
19.4024 + {
19.4025 + dbg.location(212,21);
19.4026 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:212:21: ^( ALT[firstToken,\"ALT\"] ( element )+ EOA[\"EOA\"] )
19.4027 + {
19.4028 + CommonTree root_1 = (CommonTree)adaptor.nil();
19.4029 + dbg.location(212,23);
19.4030 + root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(ALT, firstToken, "ALT"), root_1);
19.4031 +
19.4032 + dbg.location(212,45);
19.4033 + if ( !(stream_element.hasNext()) ) {
19.4034 + throw new RewriteEarlyExitException();
19.4035 + }
19.4036 + while ( stream_element.hasNext() ) {
19.4037 + dbg.location(212,45);
19.4038 + adaptor.addChild(root_1, stream_element.nextTree());
19.4039 +
19.4040 + }
19.4041 + stream_element.reset();
19.4042 + dbg.location(212,54);
19.4043 + adaptor.addChild(root_1, (CommonTree)adaptor.create(EOA, "EOA"));
19.4044 +
19.4045 + adaptor.addChild(root_0, root_1);
19.4046 + }
19.4047 +
19.4048 + }
19.4049 +
19.4050 + retval.tree = root_0;}
19.4051 + }
19.4052 + break;
19.4053 + case 2 :
19.4054 + dbg.enterAlt(2);
19.4055 +
19.4056 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:213:9:
19.4057 + {
19.4058 +
19.4059 + // AST REWRITE
19.4060 + // elements:
19.4061 + // token labels:
19.4062 + // rule labels: retval
19.4063 + // token list labels:
19.4064 + // rule list labels:
19.4065 + // wildcard labels:
19.4066 + if ( state.backtracking==0 ) {
19.4067 + retval.tree = root_0;
19.4068 + RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);
19.4069 +
19.4070 + root_0 = (CommonTree)adaptor.nil();
19.4071 + // 213:9: -> ^( ALT[prevToken,\"ALT\"] EPSILON[prevToken,\"EPSILON\"] EOA[\"EOA\"] )
19.4072 + {
19.4073 + dbg.location(213,12);
19.4074 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:213:12: ^( ALT[prevToken,\"ALT\"] EPSILON[prevToken,\"EPSILON\"] EOA[\"EOA\"] )
19.4075 + {
19.4076 + CommonTree root_1 = (CommonTree)adaptor.nil();
19.4077 + dbg.location(213,14);
19.4078 + root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(ALT, prevToken, "ALT"), root_1);
19.4079 +
19.4080 + dbg.location(213,35);
19.4081 + adaptor.addChild(root_1, (CommonTree)adaptor.create(EPSILON, prevToken, "EPSILON"));
19.4082 + dbg.location(213,64);
19.4083 + adaptor.addChild(root_1, (CommonTree)adaptor.create(EOA, "EOA"));
19.4084 +
19.4085 + adaptor.addChild(root_0, root_1);
19.4086 + }
19.4087 +
19.4088 + }
19.4089 +
19.4090 + retval.tree = root_0;}
19.4091 + }
19.4092 + break;
19.4093 +
19.4094 + }
19.4095 + retval.stop = input.LT(-1);
19.4096 +
19.4097 + if ( state.backtracking==0 ) {
19.4098 +
19.4099 + retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
19.4100 + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
19.4101 + }
19.4102 + }
19.4103 + catch (RecognitionException re) {
19.4104 + reportError(re);
19.4105 + recover(input,re);
19.4106 + retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re);
19.4107 +
19.4108 + }
19.4109 + finally {
19.4110 + }
19.4111 + dbg.location(214, 5);
19.4112 +
19.4113 + }
19.4114 + finally {
19.4115 + dbg.exitRule(getGrammarFileName(), "alternative");
19.4116 + decRuleLevel();
19.4117 + if ( getRuleLevel()==0 ) {dbg.terminate();}
19.4118 + }
19.4119 +
19.4120 + return retval;
19.4121 + }
19.4122 + // $ANTLR end "alternative"
19.4123 +
19.4124 + public static class exceptionGroup_return extends ParserRuleReturnScope {
19.4125 + CommonTree tree;
19.4126 + public Object getTree() { return tree; }
19.4127 + };
19.4128 +
19.4129 + // $ANTLR start "exceptionGroup"
19.4130 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:216:1: exceptionGroup : ( ( exceptionHandler )+ ( finallyClause )? | finallyClause );
19.4131 + public final ANTLRv3Parser.exceptionGroup_return exceptionGroup() throws RecognitionException {
19.4132 + ANTLRv3Parser.exceptionGroup_return retval = new ANTLRv3Parser.exceptionGroup_return();
19.4133 + retval.start = input.LT(1);
19.4134 +
19.4135 + CommonTree root_0 = null;
19.4136 +
19.4137 + ANTLRv3Parser.exceptionHandler_return exceptionHandler84 = null;
19.4138 +
19.4139 + ANTLRv3Parser.finallyClause_return finallyClause85 = null;
19.4140 +
19.4141 + ANTLRv3Parser.finallyClause_return finallyClause86 = null;
19.4142 +
19.4143 +
19.4144 +
19.4145 + try { dbg.enterRule(getGrammarFileName(), "exceptionGroup");
19.4146 + if ( getRuleLevel()==0 ) {dbg.commence();}
19.4147 + incRuleLevel();
19.4148 + dbg.location(216, 1);
19.4149 +
19.4150 + try {
19.4151 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:217:2: ( ( exceptionHandler )+ ( finallyClause )? | finallyClause )
19.4152 + int alt38=2;
19.4153 + try { dbg.enterDecision(38, decisionCanBacktrack[38]);
19.4154 +
19.4155 + int LA38_0 = input.LA(1);
19.4156 +
19.4157 + if ( (LA38_0==85) ) {
19.4158 + alt38=1;
19.4159 + }
19.4160 + else if ( (LA38_0==86) ) {
19.4161 + alt38=2;
19.4162 + }
19.4163 + else {
19.4164 + if (state.backtracking>0) {state.failed=true; return retval;}
19.4165 + NoViableAltException nvae =
19.4166 + new NoViableAltException("", 38, 0, input);
19.4167 +
19.4168 + dbg.recognitionException(nvae);
19.4169 + throw nvae;
19.4170 + }
19.4171 + } finally {dbg.exitDecision(38);}
19.4172 +
19.4173 + switch (alt38) {
19.4174 + case 1 :
19.4175 + dbg.enterAlt(1);
19.4176 +
19.4177 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:217:4: ( exceptionHandler )+ ( finallyClause )?
19.4178 + {
19.4179 + root_0 = (CommonTree)adaptor.nil();
19.4180 +
19.4181 + dbg.location(217,4);
19.4182 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:217:4: ( exceptionHandler )+
19.4183 + int cnt36=0;
19.4184 + try { dbg.enterSubRule(36);
19.4185 +
19.4186 + loop36:
19.4187 + do {
19.4188 + int alt36=2;
19.4189 + try { dbg.enterDecision(36, decisionCanBacktrack[36]);
19.4190 +
19.4191 + int LA36_0 = input.LA(1);
19.4192 +
19.4193 + if ( (LA36_0==85) ) {
19.4194 + alt36=1;
19.4195 + }
19.4196 +
19.4197 +
19.4198 + } finally {dbg.exitDecision(36);}
19.4199 +
19.4200 + switch (alt36) {
19.4201 + case 1 :
19.4202 + dbg.enterAlt(1);
19.4203 +
19.4204 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:217:6: exceptionHandler
19.4205 + {
19.4206 + dbg.location(217,6);
19.4207 + pushFollow(FOLLOW_exceptionHandler_in_exceptionGroup1392);
19.4208 + exceptionHandler84=exceptionHandler();
19.4209 +
19.4210 + state._fsp--;
19.4211 + if (state.failed) return retval;
19.4212 + if ( state.backtracking==0 ) adaptor.addChild(root_0, exceptionHandler84.getTree());
19.4213 +
19.4214 + }
19.4215 + break;
19.4216 +
19.4217 + default :
19.4218 + if ( cnt36 >= 1 ) break loop36;
19.4219 + if (state.backtracking>0) {state.failed=true; return retval;}
19.4220 + EarlyExitException eee =
19.4221 + new EarlyExitException(36, input);
19.4222 + dbg.recognitionException(eee);
19.4223 +
19.4224 + throw eee;
19.4225 + }
19.4226 + cnt36++;
19.4227 + } while (true);
19.4228 + } finally {dbg.exitSubRule(36);}
19.4229 +
19.4230 + dbg.location(217,26);
19.4231 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:217:26: ( finallyClause )?
19.4232 + int alt37=2;
19.4233 + try { dbg.enterSubRule(37);
19.4234 + try { dbg.enterDecision(37, decisionCanBacktrack[37]);
19.4235 +
19.4236 + int LA37_0 = input.LA(1);
19.4237 +
19.4238 + if ( (LA37_0==86) ) {
19.4239 + alt37=1;
19.4240 + }
19.4241 + } finally {dbg.exitDecision(37);}
19.4242 +
19.4243 + switch (alt37) {
19.4244 + case 1 :
19.4245 + dbg.enterAlt(1);
19.4246 +
19.4247 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:217:28: finallyClause
19.4248 + {
19.4249 + dbg.location(217,28);
19.4250 + pushFollow(FOLLOW_finallyClause_in_exceptionGroup1399);
19.4251 + finallyClause85=finallyClause();
19.4252 +
19.4253 + state._fsp--;
19.4254 + if (state.failed) return retval;
19.4255 + if ( state.backtracking==0 ) adaptor.addChild(root_0, finallyClause85.getTree());
19.4256 +
19.4257 + }
19.4258 + break;
19.4259 +
19.4260 + }
19.4261 + } finally {dbg.exitSubRule(37);}
19.4262 +
19.4263 +
19.4264 + }
19.4265 + break;
19.4266 + case 2 :
19.4267 + dbg.enterAlt(2);
19.4268 +
19.4269 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:218:4: finallyClause
19.4270 + {
19.4271 + root_0 = (CommonTree)adaptor.nil();
19.4272 +
19.4273 + dbg.location(218,4);
19.4274 + pushFollow(FOLLOW_finallyClause_in_exceptionGroup1407);
19.4275 + finallyClause86=finallyClause();
19.4276 +
19.4277 + state._fsp--;
19.4278 + if (state.failed) return retval;
19.4279 + if ( state.backtracking==0 ) adaptor.addChild(root_0, finallyClause86.getTree());
19.4280 +
19.4281 + }
19.4282 + break;
19.4283 +
19.4284 + }
19.4285 + retval.stop = input.LT(-1);
19.4286 +
19.4287 + if ( state.backtracking==0 ) {
19.4288 +
19.4289 + retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
19.4290 + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
19.4291 + }
19.4292 + }
19.4293 + catch (RecognitionException re) {
19.4294 + reportError(re);
19.4295 + recover(input,re);
19.4296 + retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re);
19.4297 +
19.4298 + }
19.4299 + finally {
19.4300 + }
19.4301 + dbg.location(219, 5);
19.4302 +
19.4303 + }
19.4304 + finally {
19.4305 + dbg.exitRule(getGrammarFileName(), "exceptionGroup");
19.4306 + decRuleLevel();
19.4307 + if ( getRuleLevel()==0 ) {dbg.terminate();}
19.4308 + }
19.4309 +
19.4310 + return retval;
19.4311 + }
19.4312 + // $ANTLR end "exceptionGroup"
19.4313 +
19.4314 + public static class exceptionHandler_return extends ParserRuleReturnScope {
19.4315 + CommonTree tree;
19.4316 + public Object getTree() { return tree; }
19.4317 + };
19.4318 +
19.4319 + // $ANTLR start "exceptionHandler"
19.4320 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:221:1: exceptionHandler : 'catch' ARG_ACTION ACTION -> ^( 'catch' ARG_ACTION ACTION ) ;
19.4321 + public final ANTLRv3Parser.exceptionHandler_return exceptionHandler() throws RecognitionException {
19.4322 + ANTLRv3Parser.exceptionHandler_return retval = new ANTLRv3Parser.exceptionHandler_return();
19.4323 + retval.start = input.LT(1);
19.4324 +
19.4325 + CommonTree root_0 = null;
19.4326 +
19.4327 + Token string_literal87=null;
19.4328 + Token ARG_ACTION88=null;
19.4329 + Token ACTION89=null;
19.4330 +
19.4331 + CommonTree string_literal87_tree=null;
19.4332 + CommonTree ARG_ACTION88_tree=null;
19.4333 + CommonTree ACTION89_tree=null;
19.4334 + RewriteRuleTokenStream stream_ACTION=new RewriteRuleTokenStream(adaptor,"token ACTION");
19.4335 + RewriteRuleTokenStream stream_ARG_ACTION=new RewriteRuleTokenStream(adaptor,"token ARG_ACTION");
19.4336 + RewriteRuleTokenStream stream_85=new RewriteRuleTokenStream(adaptor,"token 85");
19.4337 +
19.4338 + try { dbg.enterRule(getGrammarFileName(), "exceptionHandler");
19.4339 + if ( getRuleLevel()==0 ) {dbg.commence();}
19.4340 + incRuleLevel();
19.4341 + dbg.location(221, 1);
19.4342 +
19.4343 + try {
19.4344 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:222:5: ( 'catch' ARG_ACTION ACTION -> ^( 'catch' ARG_ACTION ACTION ) )
19.4345 + dbg.enterAlt(1);
19.4346 +
19.4347 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:222:10: 'catch' ARG_ACTION ACTION
19.4348 + {
19.4349 + dbg.location(222,10);
19.4350 + string_literal87=(Token)match(input,85,FOLLOW_85_in_exceptionHandler1427); if (state.failed) return retval;
19.4351 + if ( state.backtracking==0 ) stream_85.add(string_literal87);
19.4352 +
19.4353 + dbg.location(222,18);
19.4354 + ARG_ACTION88=(Token)match(input,ARG_ACTION,FOLLOW_ARG_ACTION_in_exceptionHandler1429); if (state.failed) return retval;
19.4355 + if ( state.backtracking==0 ) stream_ARG_ACTION.add(ARG_ACTION88);
19.4356 +
19.4357 + dbg.location(222,29);
19.4358 + ACTION89=(Token)match(input,ACTION,FOLLOW_ACTION_in_exceptionHandler1431); if (state.failed) return retval;
19.4359 + if ( state.backtracking==0 ) stream_ACTION.add(ACTION89);
19.4360 +
19.4361 +
19.4362 +
19.4363 + // AST REWRITE
19.4364 + // elements: ARG_ACTION, 85, ACTION
19.4365 + // token labels:
19.4366 + // rule labels: retval
19.4367 + // token list labels:
19.4368 + // rule list labels:
19.4369 + // wildcard labels:
19.4370 + if ( state.backtracking==0 ) {
19.4371 + retval.tree = root_0;
19.4372 + RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);
19.4373 +
19.4374 + root_0 = (CommonTree)adaptor.nil();
19.4375 + // 222:36: -> ^( 'catch' ARG_ACTION ACTION )
19.4376 + {
19.4377 + dbg.location(222,39);
19.4378 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:222:39: ^( 'catch' ARG_ACTION ACTION )
19.4379 + {
19.4380 + CommonTree root_1 = (CommonTree)adaptor.nil();
19.4381 + dbg.location(222,41);
19.4382 + root_1 = (CommonTree)adaptor.becomeRoot(stream_85.nextNode(), root_1);
19.4383 +
19.4384 + dbg.location(222,49);
19.4385 + adaptor.addChild(root_1, stream_ARG_ACTION.nextNode());
19.4386 + dbg.location(222,60);
19.4387 + adaptor.addChild(root_1, stream_ACTION.nextNode());
19.4388 +
19.4389 + adaptor.addChild(root_0, root_1);
19.4390 + }
19.4391 +
19.4392 + }
19.4393 +
19.4394 + retval.tree = root_0;}
19.4395 + }
19.4396 +
19.4397 + retval.stop = input.LT(-1);
19.4398 +
19.4399 + if ( state.backtracking==0 ) {
19.4400 +
19.4401 + retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
19.4402 + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
19.4403 + }
19.4404 + }
19.4405 + catch (RecognitionException re) {
19.4406 + reportError(re);
19.4407 + recover(input,re);
19.4408 + retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re);
19.4409 +
19.4410 + }
19.4411 + finally {
19.4412 + }
19.4413 + dbg.location(223, 5);
19.4414 +
19.4415 + }
19.4416 + finally {
19.4417 + dbg.exitRule(getGrammarFileName(), "exceptionHandler");
19.4418 + decRuleLevel();
19.4419 + if ( getRuleLevel()==0 ) {dbg.terminate();}
19.4420 + }
19.4421 +
19.4422 + return retval;
19.4423 + }
19.4424 + // $ANTLR end "exceptionHandler"
19.4425 +
19.4426 + public static class finallyClause_return extends ParserRuleReturnScope {
19.4427 + CommonTree tree;
19.4428 + public Object getTree() { return tree; }
19.4429 + };
19.4430 +
19.4431 + // $ANTLR start "finallyClause"
19.4432 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:225:1: finallyClause : 'finally' ACTION -> ^( 'finally' ACTION ) ;
19.4433 + public final ANTLRv3Parser.finallyClause_return finallyClause() throws RecognitionException {
19.4434 + ANTLRv3Parser.finallyClause_return retval = new ANTLRv3Parser.finallyClause_return();
19.4435 + retval.start = input.LT(1);
19.4436 +
19.4437 + CommonTree root_0 = null;
19.4438 +
19.4439 + Token string_literal90=null;
19.4440 + Token ACTION91=null;
19.4441 +
19.4442 + CommonTree string_literal90_tree=null;
19.4443 + CommonTree ACTION91_tree=null;
19.4444 + RewriteRuleTokenStream stream_ACTION=new RewriteRuleTokenStream(adaptor,"token ACTION");
19.4445 + RewriteRuleTokenStream stream_86=new RewriteRuleTokenStream(adaptor,"token 86");
19.4446 +
19.4447 + try { dbg.enterRule(getGrammarFileName(), "finallyClause");
19.4448 + if ( getRuleLevel()==0 ) {dbg.commence();}
19.4449 + incRuleLevel();
19.4450 + dbg.location(225, 1);
19.4451 +
19.4452 + try {
19.4453 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:226:5: ( 'finally' ACTION -> ^( 'finally' ACTION ) )
19.4454 + dbg.enterAlt(1);
19.4455 +
19.4456 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:226:10: 'finally' ACTION
19.4457 + {
19.4458 + dbg.location(226,10);
19.4459 + string_literal90=(Token)match(input,86,FOLLOW_86_in_finallyClause1461); if (state.failed) return retval;
19.4460 + if ( state.backtracking==0 ) stream_86.add(string_literal90);
19.4461 +
19.4462 + dbg.location(226,20);
19.4463 + ACTION91=(Token)match(input,ACTION,FOLLOW_ACTION_in_finallyClause1463); if (state.failed) return retval;
19.4464 + if ( state.backtracking==0 ) stream_ACTION.add(ACTION91);
19.4465 +
19.4466 +
19.4467 +
19.4468 + // AST REWRITE
19.4469 + // elements: 86, ACTION
19.4470 + // token labels:
19.4471 + // rule labels: retval
19.4472 + // token list labels:
19.4473 + // rule list labels:
19.4474 + // wildcard labels:
19.4475 + if ( state.backtracking==0 ) {
19.4476 + retval.tree = root_0;
19.4477 + RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);
19.4478 +
19.4479 + root_0 = (CommonTree)adaptor.nil();
19.4480 + // 226:27: -> ^( 'finally' ACTION )
19.4481 + {
19.4482 + dbg.location(226,30);
19.4483 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:226:30: ^( 'finally' ACTION )
19.4484 + {
19.4485 + CommonTree root_1 = (CommonTree)adaptor.nil();
19.4486 + dbg.location(226,32);
19.4487 + root_1 = (CommonTree)adaptor.becomeRoot(stream_86.nextNode(), root_1);
19.4488 +
19.4489 + dbg.location(226,42);
19.4490 + adaptor.addChild(root_1, stream_ACTION.nextNode());
19.4491 +
19.4492 + adaptor.addChild(root_0, root_1);
19.4493 + }
19.4494 +
19.4495 + }
19.4496 +
19.4497 + retval.tree = root_0;}
19.4498 + }
19.4499 +
19.4500 + retval.stop = input.LT(-1);
19.4501 +
19.4502 + if ( state.backtracking==0 ) {
19.4503 +
19.4504 + retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
19.4505 + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
19.4506 + }
19.4507 + }
19.4508 + catch (RecognitionException re) {
19.4509 + reportError(re);
19.4510 + recover(input,re);
19.4511 + retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re);
19.4512 +
19.4513 + }
19.4514 + finally {
19.4515 + }
19.4516 + dbg.location(227, 5);
19.4517 +
19.4518 + }
19.4519 + finally {
19.4520 + dbg.exitRule(getGrammarFileName(), "finallyClause");
19.4521 + decRuleLevel();
19.4522 + if ( getRuleLevel()==0 ) {dbg.terminate();}
19.4523 + }
19.4524 +
19.4525 + return retval;
19.4526 + }
19.4527 + // $ANTLR end "finallyClause"
19.4528 +
19.4529 + public static class element_return extends ParserRuleReturnScope {
19.4530 + CommonTree tree;
19.4531 + public Object getTree() { return tree; }
19.4532 + };
19.4533 +
19.4534 + // $ANTLR start "element"
19.4535 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:229:1: element : elementNoOptionSpec ;
19.4536 + public final ANTLRv3Parser.element_return element() throws RecognitionException {
19.4537 + ANTLRv3Parser.element_return retval = new ANTLRv3Parser.element_return();
19.4538 + retval.start = input.LT(1);
19.4539 +
19.4540 + CommonTree root_0 = null;
19.4541 +
19.4542 + ANTLRv3Parser.elementNoOptionSpec_return elementNoOptionSpec92 = null;
19.4543 +
19.4544 +
19.4545 +
19.4546 + try { dbg.enterRule(getGrammarFileName(), "element");
19.4547 + if ( getRuleLevel()==0 ) {dbg.commence();}
19.4548 + incRuleLevel();
19.4549 + dbg.location(229, 1);
19.4550 +
19.4551 + try {
19.4552 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:230:2: ( elementNoOptionSpec )
19.4553 + dbg.enterAlt(1);
19.4554 +
19.4555 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:230:4: elementNoOptionSpec
19.4556 + {
19.4557 + root_0 = (CommonTree)adaptor.nil();
19.4558 +
19.4559 + dbg.location(230,4);
19.4560 + pushFollow(FOLLOW_elementNoOptionSpec_in_element1485);
19.4561 + elementNoOptionSpec92=elementNoOptionSpec();
19.4562 +
19.4563 + state._fsp--;
19.4564 + if (state.failed) return retval;
19.4565 + if ( state.backtracking==0 ) adaptor.addChild(root_0, elementNoOptionSpec92.getTree());
19.4566 +
19.4567 + }
19.4568 +
19.4569 + retval.stop = input.LT(-1);
19.4570 +
19.4571 + if ( state.backtracking==0 ) {
19.4572 +
19.4573 + retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
19.4574 + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
19.4575 + }
19.4576 + }
19.4577 + catch (RecognitionException re) {
19.4578 + reportError(re);
19.4579 + recover(input,re);
19.4580 + retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re);
19.4581 +
19.4582 + }
19.4583 + finally {
19.4584 + }
19.4585 + dbg.location(231, 2);
19.4586 +
19.4587 + }
19.4588 + finally {
19.4589 + dbg.exitRule(getGrammarFileName(), "element");
19.4590 + decRuleLevel();
19.4591 + if ( getRuleLevel()==0 ) {dbg.terminate();}
19.4592 + }
19.4593 +
19.4594 + return retval;
19.4595 + }
19.4596 + // $ANTLR end "element"
19.4597 +
19.4598 + public static class elementNoOptionSpec_return extends ParserRuleReturnScope {
19.4599 + CommonTree tree;
19.4600 + public Object getTree() { return tree; }
19.4601 + };
19.4602 +
19.4603 + // $ANTLR start "elementNoOptionSpec"
19.4604 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:233:1: elementNoOptionSpec : ( id (labelOp= '=' | labelOp= '+=' ) atom ( ebnfSuffix -> ^( ebnfSuffix ^( BLOCK[\"BLOCK\"] ^( ALT[\"ALT\"] ^( $labelOp id atom ) EOA[\"EOA\"] ) EOB[\"EOB\"] ) ) | -> ^( $labelOp id atom ) ) | id (labelOp= '=' | labelOp= '+=' ) block ( ebnfSuffix -> ^( ebnfSuffix ^( BLOCK[\"BLOCK\"] ^( ALT[\"ALT\"] ^( $labelOp id block ) EOA[\"EOA\"] ) EOB[\"EOB\"] ) ) | -> ^( $labelOp id block ) ) | atom ( ebnfSuffix -> ^( ebnfSuffix ^( BLOCK[\"BLOCK\"] ^( ALT[\"ALT\"] atom EOA[\"EOA\"] ) EOB[\"EOB\"] ) ) | -> atom ) | ebnf | ACTION | SEMPRED ( '=>' -> GATED_SEMPRED | -> SEMPRED ) | treeSpec ( ebnfSuffix -> ^( ebnfSuffix ^( BLOCK[\"BLOCK\"] ^( ALT[\"ALT\"] treeSpec EOA[\"EOA\"] ) EOB[\"EOB\"] ) ) | -> treeSpec ) );
19.4605 + public final ANTLRv3Parser.elementNoOptionSpec_return elementNoOptionSpec() throws RecognitionException {
19.4606 + ANTLRv3Parser.elementNoOptionSpec_return retval = new ANTLRv3Parser.elementNoOptionSpec_return();
19.4607 + retval.start = input.LT(1);
19.4608 +
19.4609 + CommonTree root_0 = null;
19.4610 +
19.4611 + Token labelOp=null;
19.4612 + Token ACTION102=null;
19.4613 + Token SEMPRED103=null;
19.4614 + Token string_literal104=null;
19.4615 + ANTLRv3Parser.id_return id93 = null;
19.4616 +
19.4617 + ANTLRv3Parser.atom_return atom94 = null;
19.4618 +
19.4619 + ANTLRv3Parser.ebnfSuffix_return ebnfSuffix95 = null;
19.4620 +
19.4621 + ANTLRv3Parser.id_return id96 = null;
19.4622 +
19.4623 + ANTLRv3Parser.block_return block97 = null;
19.4624 +
19.4625 + ANTLRv3Parser.ebnfSuffix_return ebnfSuffix98 = null;
19.4626 +
19.4627 + ANTLRv3Parser.atom_return atom99 = null;
19.4628 +
19.4629 + ANTLRv3Parser.ebnfSuffix_return ebnfSuffix100 = null;
19.4630 +
19.4631 + ANTLRv3Parser.ebnf_return ebnf101 = null;
19.4632 +
19.4633 + ANTLRv3Parser.treeSpec_return treeSpec105 = null;
19.4634 +
19.4635 + ANTLRv3Parser.ebnfSuffix_return ebnfSuffix106 = null;
19.4636 +
19.4637 +
19.4638 + CommonTree labelOp_tree=null;
19.4639 + CommonTree ACTION102_tree=null;
19.4640 + CommonTree SEMPRED103_tree=null;
19.4641 + CommonTree string_literal104_tree=null;
19.4642 + RewriteRuleTokenStream stream_SEMPRED=new RewriteRuleTokenStream(adaptor,"token SEMPRED");
19.4643 + RewriteRuleTokenStream stream_71=new RewriteRuleTokenStream(adaptor,"token 71");
19.4644 + RewriteRuleTokenStream stream_87=new RewriteRuleTokenStream(adaptor,"token 87");
19.4645 + RewriteRuleTokenStream stream_88=new RewriteRuleTokenStream(adaptor,"token 88");
19.4646 + RewriteRuleSubtreeStream stream_id=new RewriteRuleSubtreeStream(adaptor,"rule id");
19.4647 + RewriteRuleSubtreeStream stream_atom=new RewriteRuleSubtreeStream(adaptor,"rule atom");
19.4648 + RewriteRuleSubtreeStream stream_ebnfSuffix=new RewriteRuleSubtreeStream(adaptor,"rule ebnfSuffix");
19.4649 + RewriteRuleSubtreeStream stream_block=new RewriteRuleSubtreeStream(adaptor,"rule block");
19.4650 + RewriteRuleSubtreeStream stream_treeSpec=new RewriteRuleSubtreeStream(adaptor,"rule treeSpec");
19.4651 + try { dbg.enterRule(getGrammarFileName(), "elementNoOptionSpec");
19.4652 + if ( getRuleLevel()==0 ) {dbg.commence();}
19.4653 + incRuleLevel();
19.4654 + dbg.location(233, 1);
19.4655 +
19.4656 + try {
19.4657 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:234:2: ( id (labelOp= '=' | labelOp= '+=' ) atom ( ebnfSuffix -> ^( ebnfSuffix ^( BLOCK[\"BLOCK\"] ^( ALT[\"ALT\"] ^( $labelOp id atom ) EOA[\"EOA\"] ) EOB[\"EOB\"] ) ) | -> ^( $labelOp id atom ) ) | id (labelOp= '=' | labelOp= '+=' ) block ( ebnfSuffix -> ^( ebnfSuffix ^( BLOCK[\"BLOCK\"] ^( ALT[\"ALT\"] ^( $labelOp id block ) EOA[\"EOA\"] ) EOB[\"EOB\"] ) ) | -> ^( $labelOp id block ) ) | atom ( ebnfSuffix -> ^( ebnfSuffix ^( BLOCK[\"BLOCK\"] ^( ALT[\"ALT\"] atom EOA[\"EOA\"] ) EOB[\"EOB\"] ) ) | -> atom ) | ebnf | ACTION | SEMPRED ( '=>' -> GATED_SEMPRED | -> SEMPRED ) | treeSpec ( ebnfSuffix -> ^( ebnfSuffix ^( BLOCK[\"BLOCK\"] ^( ALT[\"ALT\"] treeSpec EOA[\"EOA\"] ) EOB[\"EOB\"] ) ) | -> treeSpec ) )
19.4658 + int alt46=7;
19.4659 + try { dbg.enterDecision(46, decisionCanBacktrack[46]);
19.4660 +
19.4661 + try {
19.4662 + isCyclicDecision = true;
19.4663 + alt46 = dfa46.predict(input);
19.4664 + }
19.4665 + catch (NoViableAltException nvae) {
19.4666 + dbg.recognitionException(nvae);
19.4667 + throw nvae;
19.4668 + }
19.4669 + } finally {dbg.exitDecision(46);}
19.4670 +
19.4671 + switch (alt46) {
19.4672 + case 1 :
19.4673 + dbg.enterAlt(1);
19.4674 +
19.4675 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:234:4: id (labelOp= '=' | labelOp= '+=' ) atom ( ebnfSuffix -> ^( ebnfSuffix ^( BLOCK[\"BLOCK\"] ^( ALT[\"ALT\"] ^( $labelOp id atom ) EOA[\"EOA\"] ) EOB[\"EOB\"] ) ) | -> ^( $labelOp id atom ) )
19.4676 + {
19.4677 + dbg.location(234,4);
19.4678 + pushFollow(FOLLOW_id_in_elementNoOptionSpec1496);
19.4679 + id93=id();
19.4680 +
19.4681 + state._fsp--;
19.4682 + if (state.failed) return retval;
19.4683 + if ( state.backtracking==0 ) stream_id.add(id93.getTree());
19.4684 + dbg.location(234,7);
19.4685 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:234:7: (labelOp= '=' | labelOp= '+=' )
19.4686 + int alt39=2;
19.4687 + try { dbg.enterSubRule(39);
19.4688 + try { dbg.enterDecision(39, decisionCanBacktrack[39]);
19.4689 +
19.4690 + int LA39_0 = input.LA(1);
19.4691 +
19.4692 + if ( (LA39_0==71) ) {
19.4693 + alt39=1;
19.4694 + }
19.4695 + else if ( (LA39_0==87) ) {
19.4696 + alt39=2;
19.4697 + }
19.4698 + else {
19.4699 + if (state.backtracking>0) {state.failed=true; return retval;}
19.4700 + NoViableAltException nvae =
19.4701 + new NoViableAltException("", 39, 0, input);
19.4702 +
19.4703 + dbg.recognitionException(nvae);
19.4704 + throw nvae;
19.4705 + }
19.4706 + } finally {dbg.exitDecision(39);}
19.4707 +
19.4708 + switch (alt39) {
19.4709 + case 1 :
19.4710 + dbg.enterAlt(1);
19.4711 +
19.4712 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:234:8: labelOp= '='
19.4713 + {
19.4714 + dbg.location(234,15);
19.4715 + labelOp=(Token)match(input,71,FOLLOW_71_in_elementNoOptionSpec1501); if (state.failed) return retval;
19.4716 + if ( state.backtracking==0 ) stream_71.add(labelOp);
19.4717 +
19.4718 +
19.4719 + }
19.4720 + break;
19.4721 + case 2 :
19.4722 + dbg.enterAlt(2);
19.4723 +
19.4724 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:234:20: labelOp= '+='
19.4725 + {
19.4726 + dbg.location(234,27);
19.4727 + labelOp=(Token)match(input,87,FOLLOW_87_in_elementNoOptionSpec1505); if (state.failed) return retval;
19.4728 + if ( state.backtracking==0 ) stream_87.add(labelOp);
19.4729 +
19.4730 +
19.4731 + }
19.4732 + break;
19.4733 +
19.4734 + }
19.4735 + } finally {dbg.exitSubRule(39);}
19.4736 +
19.4737 + dbg.location(234,34);
19.4738 + pushFollow(FOLLOW_atom_in_elementNoOptionSpec1508);
19.4739 + atom94=atom();
19.4740 +
19.4741 + state._fsp--;
19.4742 + if (state.failed) return retval;
19.4743 + if ( state.backtracking==0 ) stream_atom.add(atom94.getTree());
19.4744 + dbg.location(235,3);
19.4745 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:235:3: ( ebnfSuffix -> ^( ebnfSuffix ^( BLOCK[\"BLOCK\"] ^( ALT[\"ALT\"] ^( $labelOp id atom ) EOA[\"EOA\"] ) EOB[\"EOB\"] ) ) | -> ^( $labelOp id atom ) )
19.4746 + int alt40=2;
19.4747 + try { dbg.enterSubRule(40);
19.4748 + try { dbg.enterDecision(40, decisionCanBacktrack[40]);
19.4749 +
19.4750 + int LA40_0 = input.LA(1);
19.4751 +
19.4752 + if ( (LA40_0==74||(LA40_0>=90 && LA40_0<=91)) ) {
19.4753 + alt40=1;
19.4754 + }
19.4755 + else if ( (LA40_0==SEMPRED||LA40_0==TREE_BEGIN||LA40_0==REWRITE||(LA40_0>=TOKEN_REF && LA40_0<=ACTION)||LA40_0==RULE_REF||LA40_0==69||(LA40_0>=82 && LA40_0<=84)||LA40_0==89||LA40_0==92) ) {
19.4756 + alt40=2;
19.4757 + }
19.4758 + else {
19.4759 + if (state.backtracking>0) {state.failed=true; return retval;}
19.4760 + NoViableAltException nvae =
19.4761 + new NoViableAltException("", 40, 0, input);
19.4762 +
19.4763 + dbg.recognitionException(nvae);
19.4764 + throw nvae;
19.4765 + }
19.4766 + } finally {dbg.exitDecision(40);}
19.4767 +
19.4768 + switch (alt40) {
19.4769 + case 1 :
19.4770 + dbg.enterAlt(1);
19.4771 +
19.4772 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:235:5: ebnfSuffix
19.4773 + {
19.4774 + dbg.location(235,5);
19.4775 + pushFollow(FOLLOW_ebnfSuffix_in_elementNoOptionSpec1514);
19.4776 + ebnfSuffix95=ebnfSuffix();
19.4777 +
19.4778 + state._fsp--;
19.4779 + if (state.failed) return retval;
19.4780 + if ( state.backtracking==0 ) stream_ebnfSuffix.add(ebnfSuffix95.getTree());
19.4781 +
19.4782 +
19.4783 + // AST REWRITE
19.4784 + // elements: ebnfSuffix, labelOp, atom, id
19.4785 + // token labels: labelOp
19.4786 + // rule labels: retval
19.4787 + // token list labels:
19.4788 + // rule list labels:
19.4789 + // wildcard labels:
19.4790 + if ( state.backtracking==0 ) {
19.4791 + retval.tree = root_0;
19.4792 + RewriteRuleTokenStream stream_labelOp=new RewriteRuleTokenStream(adaptor,"token labelOp",labelOp);
19.4793 + RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);
19.4794 +
19.4795 + root_0 = (CommonTree)adaptor.nil();
19.4796 + // 235:16: -> ^( ebnfSuffix ^( BLOCK[\"BLOCK\"] ^( ALT[\"ALT\"] ^( $labelOp id atom ) EOA[\"EOA\"] ) EOB[\"EOB\"] ) )
19.4797 + {
19.4798 + dbg.location(235,19);
19.4799 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:235:19: ^( ebnfSuffix ^( BLOCK[\"BLOCK\"] ^( ALT[\"ALT\"] ^( $labelOp id atom ) EOA[\"EOA\"] ) EOB[\"EOB\"] ) )
19.4800 + {
19.4801 + CommonTree root_1 = (CommonTree)adaptor.nil();
19.4802 + dbg.location(235,22);
19.4803 + root_1 = (CommonTree)adaptor.becomeRoot(stream_ebnfSuffix.nextNode(), root_1);
19.4804 +
19.4805 + dbg.location(235,33);
19.4806 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:235:33: ^( BLOCK[\"BLOCK\"] ^( ALT[\"ALT\"] ^( $labelOp id atom ) EOA[\"EOA\"] ) EOB[\"EOB\"] )
19.4807 + {
19.4808 + CommonTree root_2 = (CommonTree)adaptor.nil();
19.4809 + dbg.location(235,35);
19.4810 + root_2 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(BLOCK, "BLOCK"), root_2);
19.4811 +
19.4812 + dbg.location(235,50);
19.4813 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:235:50: ^( ALT[\"ALT\"] ^( $labelOp id atom ) EOA[\"EOA\"] )
19.4814 + {
19.4815 + CommonTree root_3 = (CommonTree)adaptor.nil();
19.4816 + dbg.location(235,52);
19.4817 + root_3 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(ALT, "ALT"), root_3);
19.4818 +
19.4819 + dbg.location(235,63);
19.4820 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:235:63: ^( $labelOp id atom )
19.4821 + {
19.4822 + CommonTree root_4 = (CommonTree)adaptor.nil();
19.4823 + dbg.location(235,65);
19.4824 + root_4 = (CommonTree)adaptor.becomeRoot(stream_labelOp.nextNode(), root_4);
19.4825 +
19.4826 + dbg.location(235,74);
19.4827 + adaptor.addChild(root_4, stream_id.nextTree());
19.4828 + dbg.location(235,77);
19.4829 + adaptor.addChild(root_4, stream_atom.nextTree());
19.4830 +
19.4831 + adaptor.addChild(root_3, root_4);
19.4832 + }
19.4833 + dbg.location(235,83);
19.4834 + adaptor.addChild(root_3, (CommonTree)adaptor.create(EOA, "EOA"));
19.4835 +
19.4836 + adaptor.addChild(root_2, root_3);
19.4837 + }
19.4838 + dbg.location(235,95);
19.4839 + adaptor.addChild(root_2, (CommonTree)adaptor.create(EOB, "EOB"));
19.4840 +
19.4841 + adaptor.addChild(root_1, root_2);
19.4842 + }
19.4843 +
19.4844 + adaptor.addChild(root_0, root_1);
19.4845 + }
19.4846 +
19.4847 + }
19.4848 +
19.4849 + retval.tree = root_0;}
19.4850 + }
19.4851 + break;
19.4852 + case 2 :
19.4853 + dbg.enterAlt(2);
19.4854 +
19.4855 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:236:8:
19.4856 + {
19.4857 +
19.4858 + // AST REWRITE
19.4859 + // elements: atom, labelOp, id
19.4860 + // token labels: labelOp
19.4861 + // rule labels: retval
19.4862 + // token list labels:
19.4863 + // rule list labels:
19.4864 + // wildcard labels:
19.4865 + if ( state.backtracking==0 ) {
19.4866 + retval.tree = root_0;
19.4867 + RewriteRuleTokenStream stream_labelOp=new RewriteRuleTokenStream(adaptor,"token labelOp",labelOp);
19.4868 + RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);
19.4869 +
19.4870 + root_0 = (CommonTree)adaptor.nil();
19.4871 + // 236:8: -> ^( $labelOp id atom )
19.4872 + {
19.4873 + dbg.location(236,11);
19.4874 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:236:11: ^( $labelOp id atom )
19.4875 + {
19.4876 + CommonTree root_1 = (CommonTree)adaptor.nil();
19.4877 + dbg.location(236,13);
19.4878 + root_1 = (CommonTree)adaptor.becomeRoot(stream_labelOp.nextNode(), root_1);
19.4879 +
19.4880 + dbg.location(236,22);
19.4881 + adaptor.addChild(root_1, stream_id.nextTree());
19.4882 + dbg.location(236,25);
19.4883 + adaptor.addChild(root_1, stream_atom.nextTree());
19.4884 +
19.4885 + adaptor.addChild(root_0, root_1);
19.4886 + }
19.4887 +
19.4888 + }
19.4889 +
19.4890 + retval.tree = root_0;}
19.4891 + }
19.4892 + break;
19.4893 +
19.4894 + }
19.4895 + } finally {dbg.exitSubRule(40);}
19.4896 +
19.4897 +
19.4898 + }
19.4899 + break;
19.4900 + case 2 :
19.4901 + dbg.enterAlt(2);
19.4902 +
19.4903 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:238:4: id (labelOp= '=' | labelOp= '+=' ) block ( ebnfSuffix -> ^( ebnfSuffix ^( BLOCK[\"BLOCK\"] ^( ALT[\"ALT\"] ^( $labelOp id block ) EOA[\"EOA\"] ) EOB[\"EOB\"] ) ) | -> ^( $labelOp id block ) )
19.4904 + {
19.4905 + dbg.location(238,4);
19.4906 + pushFollow(FOLLOW_id_in_elementNoOptionSpec1573);
19.4907 + id96=id();
19.4908 +
19.4909 + state._fsp--;
19.4910 + if (state.failed) return retval;
19.4911 + if ( state.backtracking==0 ) stream_id.add(id96.getTree());
19.4912 + dbg.location(238,7);
19.4913 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:238:7: (labelOp= '=' | labelOp= '+=' )
19.4914 + int alt41=2;
19.4915 + try { dbg.enterSubRule(41);
19.4916 + try { dbg.enterDecision(41, decisionCanBacktrack[41]);
19.4917 +
19.4918 + int LA41_0 = input.LA(1);
19.4919 +
19.4920 + if ( (LA41_0==71) ) {
19.4921 + alt41=1;
19.4922 + }
19.4923 + else if ( (LA41_0==87) ) {
19.4924 + alt41=2;
19.4925 + }
19.4926 + else {
19.4927 + if (state.backtracking>0) {state.failed=true; return retval;}
19.4928 + NoViableAltException nvae =
19.4929 + new NoViableAltException("", 41, 0, input);
19.4930 +
19.4931 + dbg.recognitionException(nvae);
19.4932 + throw nvae;
19.4933 + }
19.4934 + } finally {dbg.exitDecision(41);}
19.4935 +
19.4936 + switch (alt41) {
19.4937 + case 1 :
19.4938 + dbg.enterAlt(1);
19.4939 +
19.4940 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:238:8: labelOp= '='
19.4941 + {
19.4942 + dbg.location(238,15);
19.4943 + labelOp=(Token)match(input,71,FOLLOW_71_in_elementNoOptionSpec1578); if (state.failed) return retval;
19.4944 + if ( state.backtracking==0 ) stream_71.add(labelOp);
19.4945 +
19.4946 +
19.4947 + }
19.4948 + break;
19.4949 + case 2 :
19.4950 + dbg.enterAlt(2);
19.4951 +
19.4952 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:238:20: labelOp= '+='
19.4953 + {
19.4954 + dbg.location(238,27);
19.4955 + labelOp=(Token)match(input,87,FOLLOW_87_in_elementNoOptionSpec1582); if (state.failed) return retval;
19.4956 + if ( state.backtracking==0 ) stream_87.add(labelOp);
19.4957 +
19.4958 +
19.4959 + }
19.4960 + break;
19.4961 +
19.4962 + }
19.4963 + } finally {dbg.exitSubRule(41);}
19.4964 +
19.4965 + dbg.location(238,34);
19.4966 + pushFollow(FOLLOW_block_in_elementNoOptionSpec1585);
19.4967 + block97=block();
19.4968 +
19.4969 + state._fsp--;
19.4970 + if (state.failed) return retval;
19.4971 + if ( state.backtracking==0 ) stream_block.add(block97.getTree());
19.4972 + dbg.location(239,3);
19.4973 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:239:3: ( ebnfSuffix -> ^( ebnfSuffix ^( BLOCK[\"BLOCK\"] ^( ALT[\"ALT\"] ^( $labelOp id block ) EOA[\"EOA\"] ) EOB[\"EOB\"] ) ) | -> ^( $labelOp id block ) )
19.4974 + int alt42=2;
19.4975 + try { dbg.enterSubRule(42);
19.4976 + try { dbg.enterDecision(42, decisionCanBacktrack[42]);
19.4977 +
19.4978 + int LA42_0 = input.LA(1);
19.4979 +
19.4980 + if ( (LA42_0==74||(LA42_0>=90 && LA42_0<=91)) ) {
19.4981 + alt42=1;
19.4982 + }
19.4983 + else if ( (LA42_0==SEMPRED||LA42_0==TREE_BEGIN||LA42_0==REWRITE||(LA42_0>=TOKEN_REF && LA42_0<=ACTION)||LA42_0==RULE_REF||LA42_0==69||(LA42_0>=82 && LA42_0<=84)||LA42_0==89||LA42_0==92) ) {
19.4984 + alt42=2;
19.4985 + }
19.4986 + else {
19.4987 + if (state.backtracking>0) {state.failed=true; return retval;}
19.4988 + NoViableAltException nvae =
19.4989 + new NoViableAltException("", 42, 0, input);
19.4990 +
19.4991 + dbg.recognitionException(nvae);
19.4992 + throw nvae;
19.4993 + }
19.4994 + } finally {dbg.exitDecision(42);}
19.4995 +
19.4996 + switch (alt42) {
19.4997 + case 1 :
19.4998 + dbg.enterAlt(1);
19.4999 +
19.5000 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:239:5: ebnfSuffix
19.5001 + {
19.5002 + dbg.location(239,5);
19.5003 + pushFollow(FOLLOW_ebnfSuffix_in_elementNoOptionSpec1591);
19.5004 + ebnfSuffix98=ebnfSuffix();
19.5005 +
19.5006 + state._fsp--;
19.5007 + if (state.failed) return retval;
19.5008 + if ( state.backtracking==0 ) stream_ebnfSuffix.add(ebnfSuffix98.getTree());
19.5009 +
19.5010 +
19.5011 + // AST REWRITE
19.5012 + // elements: labelOp, ebnfSuffix, block, id
19.5013 + // token labels: labelOp
19.5014 + // rule labels: retval
19.5015 + // token list labels:
19.5016 + // rule list labels:
19.5017 + // wildcard labels:
19.5018 + if ( state.backtracking==0 ) {
19.5019 + retval.tree = root_0;
19.5020 + RewriteRuleTokenStream stream_labelOp=new RewriteRuleTokenStream(adaptor,"token labelOp",labelOp);
19.5021 + RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);
19.5022 +
19.5023 + root_0 = (CommonTree)adaptor.nil();
19.5024 + // 239:16: -> ^( ebnfSuffix ^( BLOCK[\"BLOCK\"] ^( ALT[\"ALT\"] ^( $labelOp id block ) EOA[\"EOA\"] ) EOB[\"EOB\"] ) )
19.5025 + {
19.5026 + dbg.location(239,19);
19.5027 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:239:19: ^( ebnfSuffix ^( BLOCK[\"BLOCK\"] ^( ALT[\"ALT\"] ^( $labelOp id block ) EOA[\"EOA\"] ) EOB[\"EOB\"] ) )
19.5028 + {
19.5029 + CommonTree root_1 = (CommonTree)adaptor.nil();
19.5030 + dbg.location(239,22);
19.5031 + root_1 = (CommonTree)adaptor.becomeRoot(stream_ebnfSuffix.nextNode(), root_1);
19.5032 +
19.5033 + dbg.location(239,33);
19.5034 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:239:33: ^( BLOCK[\"BLOCK\"] ^( ALT[\"ALT\"] ^( $labelOp id block ) EOA[\"EOA\"] ) EOB[\"EOB\"] )
19.5035 + {
19.5036 + CommonTree root_2 = (CommonTree)adaptor.nil();
19.5037 + dbg.location(239,35);
19.5038 + root_2 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(BLOCK, "BLOCK"), root_2);
19.5039 +
19.5040 + dbg.location(239,50);
19.5041 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:239:50: ^( ALT[\"ALT\"] ^( $labelOp id block ) EOA[\"EOA\"] )
19.5042 + {
19.5043 + CommonTree root_3 = (CommonTree)adaptor.nil();
19.5044 + dbg.location(239,52);
19.5045 + root_3 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(ALT, "ALT"), root_3);
19.5046 +
19.5047 + dbg.location(239,63);
19.5048 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:239:63: ^( $labelOp id block )
19.5049 + {
19.5050 + CommonTree root_4 = (CommonTree)adaptor.nil();
19.5051 + dbg.location(239,65);
19.5052 + root_4 = (CommonTree)adaptor.becomeRoot(stream_labelOp.nextNode(), root_4);
19.5053 +
19.5054 + dbg.location(239,74);
19.5055 + adaptor.addChild(root_4, stream_id.nextTree());
19.5056 + dbg.location(239,77);
19.5057 + adaptor.addChild(root_4, stream_block.nextTree());
19.5058 +
19.5059 + adaptor.addChild(root_3, root_4);
19.5060 + }
19.5061 + dbg.location(239,84);
19.5062 + adaptor.addChild(root_3, (CommonTree)adaptor.create(EOA, "EOA"));
19.5063 +
19.5064 + adaptor.addChild(root_2, root_3);
19.5065 + }
19.5066 + dbg.location(239,96);
19.5067 + adaptor.addChild(root_2, (CommonTree)adaptor.create(EOB, "EOB"));
19.5068 +
19.5069 + adaptor.addChild(root_1, root_2);
19.5070 + }
19.5071 +
19.5072 + adaptor.addChild(root_0, root_1);
19.5073 + }
19.5074 +
19.5075 + }
19.5076 +
19.5077 + retval.tree = root_0;}
19.5078 + }
19.5079 + break;
19.5080 + case 2 :
19.5081 + dbg.enterAlt(2);
19.5082 +
19.5083 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:240:8:
19.5084 + {
19.5085 +
19.5086 + // AST REWRITE
19.5087 + // elements: id, block, labelOp
19.5088 + // token labels: labelOp
19.5089 + // rule labels: retval
19.5090 + // token list labels:
19.5091 + // rule list labels:
19.5092 + // wildcard labels:
19.5093 + if ( state.backtracking==0 ) {
19.5094 + retval.tree = root_0;
19.5095 + RewriteRuleTokenStream stream_labelOp=new RewriteRuleTokenStream(adaptor,"token labelOp",labelOp);
19.5096 + RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);
19.5097 +
19.5098 + root_0 = (CommonTree)adaptor.nil();
19.5099 + // 240:8: -> ^( $labelOp id block )
19.5100 + {
19.5101 + dbg.location(240,11);
19.5102 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:240:11: ^( $labelOp id block )
19.5103 + {
19.5104 + CommonTree root_1 = (CommonTree)adaptor.nil();
19.5105 + dbg.location(240,13);
19.5106 + root_1 = (CommonTree)adaptor.becomeRoot(stream_labelOp.nextNode(), root_1);
19.5107 +
19.5108 + dbg.location(240,22);
19.5109 + adaptor.addChild(root_1, stream_id.nextTree());
19.5110 + dbg.location(240,25);
19.5111 + adaptor.addChild(root_1, stream_block.nextTree());
19.5112 +
19.5113 + adaptor.addChild(root_0, root_1);
19.5114 + }
19.5115 +
19.5116 + }
19.5117 +
19.5118 + retval.tree = root_0;}
19.5119 + }
19.5120 + break;
19.5121 +
19.5122 + }
19.5123 + } finally {dbg.exitSubRule(42);}
19.5124 +
19.5125 +
19.5126 + }
19.5127 + break;
19.5128 + case 3 :
19.5129 + dbg.enterAlt(3);
19.5130 +
19.5131 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:242:4: atom ( ebnfSuffix -> ^( ebnfSuffix ^( BLOCK[\"BLOCK\"] ^( ALT[\"ALT\"] atom EOA[\"EOA\"] ) EOB[\"EOB\"] ) ) | -> atom )
19.5132 + {
19.5133 + dbg.location(242,4);
19.5134 + pushFollow(FOLLOW_atom_in_elementNoOptionSpec1650);
19.5135 + atom99=atom();
19.5136 +
19.5137 + state._fsp--;
19.5138 + if (state.failed) return retval;
19.5139 + if ( state.backtracking==0 ) stream_atom.add(atom99.getTree());
19.5140 + dbg.location(243,3);
19.5141 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:243:3: ( ebnfSuffix -> ^( ebnfSuffix ^( BLOCK[\"BLOCK\"] ^( ALT[\"ALT\"] atom EOA[\"EOA\"] ) EOB[\"EOB\"] ) ) | -> atom )
19.5142 + int alt43=2;
19.5143 + try { dbg.enterSubRule(43);
19.5144 + try { dbg.enterDecision(43, decisionCanBacktrack[43]);
19.5145 +
19.5146 + int LA43_0 = input.LA(1);
19.5147 +
19.5148 + if ( (LA43_0==74||(LA43_0>=90 && LA43_0<=91)) ) {
19.5149 + alt43=1;
19.5150 + }
19.5151 + else if ( (LA43_0==SEMPRED||LA43_0==TREE_BEGIN||LA43_0==REWRITE||(LA43_0>=TOKEN_REF && LA43_0<=ACTION)||LA43_0==RULE_REF||LA43_0==69||(LA43_0>=82 && LA43_0<=84)||LA43_0==89||LA43_0==92) ) {
19.5152 + alt43=2;
19.5153 + }
19.5154 + else {
19.5155 + if (state.backtracking>0) {state.failed=true; return retval;}
19.5156 + NoViableAltException nvae =
19.5157 + new NoViableAltException("", 43, 0, input);
19.5158 +
19.5159 + dbg.recognitionException(nvae);
19.5160 + throw nvae;
19.5161 + }
19.5162 + } finally {dbg.exitDecision(43);}
19.5163 +
19.5164 + switch (alt43) {
19.5165 + case 1 :
19.5166 + dbg.enterAlt(1);
19.5167 +
19.5168 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:243:5: ebnfSuffix
19.5169 + {
19.5170 + dbg.location(243,5);
19.5171 + pushFollow(FOLLOW_ebnfSuffix_in_elementNoOptionSpec1656);
19.5172 + ebnfSuffix100=ebnfSuffix();
19.5173 +
19.5174 + state._fsp--;
19.5175 + if (state.failed) return retval;
19.5176 + if ( state.backtracking==0 ) stream_ebnfSuffix.add(ebnfSuffix100.getTree());
19.5177 +
19.5178 +
19.5179 + // AST REWRITE
19.5180 + // elements: ebnfSuffix, atom
19.5181 + // token labels:
19.5182 + // rule labels: retval
19.5183 + // token list labels:
19.5184 + // rule list labels:
19.5185 + // wildcard labels:
19.5186 + if ( state.backtracking==0 ) {
19.5187 + retval.tree = root_0;
19.5188 + RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);
19.5189 +
19.5190 + root_0 = (CommonTree)adaptor.nil();
19.5191 + // 243:16: -> ^( ebnfSuffix ^( BLOCK[\"BLOCK\"] ^( ALT[\"ALT\"] atom EOA[\"EOA\"] ) EOB[\"EOB\"] ) )
19.5192 + {
19.5193 + dbg.location(243,19);
19.5194 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:243:19: ^( ebnfSuffix ^( BLOCK[\"BLOCK\"] ^( ALT[\"ALT\"] atom EOA[\"EOA\"] ) EOB[\"EOB\"] ) )
19.5195 + {
19.5196 + CommonTree root_1 = (CommonTree)adaptor.nil();
19.5197 + dbg.location(243,22);
19.5198 + root_1 = (CommonTree)adaptor.becomeRoot(stream_ebnfSuffix.nextNode(), root_1);
19.5199 +
19.5200 + dbg.location(243,33);
19.5201 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:243:33: ^( BLOCK[\"BLOCK\"] ^( ALT[\"ALT\"] atom EOA[\"EOA\"] ) EOB[\"EOB\"] )
19.5202 + {
19.5203 + CommonTree root_2 = (CommonTree)adaptor.nil();
19.5204 + dbg.location(243,35);
19.5205 + root_2 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(BLOCK, "BLOCK"), root_2);
19.5206 +
19.5207 + dbg.location(243,50);
19.5208 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:243:50: ^( ALT[\"ALT\"] atom EOA[\"EOA\"] )
19.5209 + {
19.5210 + CommonTree root_3 = (CommonTree)adaptor.nil();
19.5211 + dbg.location(243,52);
19.5212 + root_3 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(ALT, "ALT"), root_3);
19.5213 +
19.5214 + dbg.location(243,63);
19.5215 + adaptor.addChild(root_3, stream_atom.nextTree());
19.5216 + dbg.location(243,68);
19.5217 + adaptor.addChild(root_3, (CommonTree)adaptor.create(EOA, "EOA"));
19.5218 +
19.5219 + adaptor.addChild(root_2, root_3);
19.5220 + }
19.5221 + dbg.location(243,80);
19.5222 + adaptor.addChild(root_2, (CommonTree)adaptor.create(EOB, "EOB"));
19.5223 +
19.5224 + adaptor.addChild(root_1, root_2);
19.5225 + }
19.5226 +
19.5227 + adaptor.addChild(root_0, root_1);
19.5228 + }
19.5229 +
19.5230 + }
19.5231 +
19.5232 + retval.tree = root_0;}
19.5233 + }
19.5234 + break;
19.5235 + case 2 :
19.5236 + dbg.enterAlt(2);
19.5237 +
19.5238 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:244:8:
19.5239 + {
19.5240 +
19.5241 + // AST REWRITE
19.5242 + // elements: atom
19.5243 + // token labels:
19.5244 + // rule labels: retval
19.5245 + // token list labels:
19.5246 + // rule list labels:
19.5247 + // wildcard labels:
19.5248 + if ( state.backtracking==0 ) {
19.5249 + retval.tree = root_0;
19.5250 + RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);
19.5251 +
19.5252 + root_0 = (CommonTree)adaptor.nil();
19.5253 + // 244:8: -> atom
19.5254 + {
19.5255 + dbg.location(244,11);
19.5256 + adaptor.addChild(root_0, stream_atom.nextTree());
19.5257 +
19.5258 + }
19.5259 +
19.5260 + retval.tree = root_0;}
19.5261 + }
19.5262 + break;
19.5263 +
19.5264 + }
19.5265 + } finally {dbg.exitSubRule(43);}
19.5266 +
19.5267 +
19.5268 + }
19.5269 + break;
19.5270 + case 4 :
19.5271 + dbg.enterAlt(4);
19.5272 +
19.5273 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:246:4: ebnf
19.5274 + {
19.5275 + root_0 = (CommonTree)adaptor.nil();
19.5276 +
19.5277 + dbg.location(246,4);
19.5278 + pushFollow(FOLLOW_ebnf_in_elementNoOptionSpec1702);
19.5279 + ebnf101=ebnf();
19.5280 +
19.5281 + state._fsp--;
19.5282 + if (state.failed) return retval;
19.5283 + if ( state.backtracking==0 ) adaptor.addChild(root_0, ebnf101.getTree());
19.5284 +
19.5285 + }
19.5286 + break;
19.5287 + case 5 :
19.5288 + dbg.enterAlt(5);
19.5289 +
19.5290 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:247:6: ACTION
19.5291 + {
19.5292 + root_0 = (CommonTree)adaptor.nil();
19.5293 +
19.5294 + dbg.location(247,6);
19.5295 + ACTION102=(Token)match(input,ACTION,FOLLOW_ACTION_in_elementNoOptionSpec1709); if (state.failed) return retval;
19.5296 + if ( state.backtracking==0 ) {
19.5297 + ACTION102_tree = (CommonTree)adaptor.create(ACTION102);
19.5298 + adaptor.addChild(root_0, ACTION102_tree);
19.5299 + }
19.5300 +
19.5301 + }
19.5302 + break;
19.5303 + case 6 :
19.5304 + dbg.enterAlt(6);
19.5305 +
19.5306 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:248:6: SEMPRED ( '=>' -> GATED_SEMPRED | -> SEMPRED )
19.5307 + {
19.5308 + dbg.location(248,6);
19.5309 + SEMPRED103=(Token)match(input,SEMPRED,FOLLOW_SEMPRED_in_elementNoOptionSpec1716); if (state.failed) return retval;
19.5310 + if ( state.backtracking==0 ) stream_SEMPRED.add(SEMPRED103);
19.5311 +
19.5312 + dbg.location(248,14);
19.5313 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:248:14: ( '=>' -> GATED_SEMPRED | -> SEMPRED )
19.5314 + int alt44=2;
19.5315 + try { dbg.enterSubRule(44);
19.5316 + try { dbg.enterDecision(44, decisionCanBacktrack[44]);
19.5317 +
19.5318 + int LA44_0 = input.LA(1);
19.5319 +
19.5320 + if ( (LA44_0==88) ) {
19.5321 + alt44=1;
19.5322 + }
19.5323 + else if ( (LA44_0==SEMPRED||LA44_0==TREE_BEGIN||LA44_0==REWRITE||(LA44_0>=TOKEN_REF && LA44_0<=ACTION)||LA44_0==RULE_REF||LA44_0==69||(LA44_0>=82 && LA44_0<=84)||LA44_0==89||LA44_0==92) ) {
19.5324 + alt44=2;
19.5325 + }
19.5326 + else {
19.5327 + if (state.backtracking>0) {state.failed=true; return retval;}
19.5328 + NoViableAltException nvae =
19.5329 + new NoViableAltException("", 44, 0, input);
19.5330 +
19.5331 + dbg.recognitionException(nvae);
19.5332 + throw nvae;
19.5333 + }
19.5334 + } finally {dbg.exitDecision(44);}
19.5335 +
19.5336 + switch (alt44) {
19.5337 + case 1 :
19.5338 + dbg.enterAlt(1);
19.5339 +
19.5340 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:248:16: '=>'
19.5341 + {
19.5342 + dbg.location(248,16);
19.5343 + string_literal104=(Token)match(input,88,FOLLOW_88_in_elementNoOptionSpec1720); if (state.failed) return retval;
19.5344 + if ( state.backtracking==0 ) stream_88.add(string_literal104);
19.5345 +
19.5346 +
19.5347 +
19.5348 + // AST REWRITE
19.5349 + // elements:
19.5350 + // token labels:
19.5351 + // rule labels: retval
19.5352 + // token list labels:
19.5353 + // rule list labels:
19.5354 + // wildcard labels:
19.5355 + if ( state.backtracking==0 ) {
19.5356 + retval.tree = root_0;
19.5357 + RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);
19.5358 +
19.5359 + root_0 = (CommonTree)adaptor.nil();
19.5360 + // 248:21: -> GATED_SEMPRED
19.5361 + {
19.5362 + dbg.location(248,24);
19.5363 + adaptor.addChild(root_0, (CommonTree)adaptor.create(GATED_SEMPRED, "GATED_SEMPRED"));
19.5364 +
19.5365 + }
19.5366 +
19.5367 + retval.tree = root_0;}
19.5368 + }
19.5369 + break;
19.5370 + case 2 :
19.5371 + dbg.enterAlt(2);
19.5372 +
19.5373 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:248:40:
19.5374 + {
19.5375 +
19.5376 + // AST REWRITE
19.5377 + // elements: SEMPRED
19.5378 + // token labels:
19.5379 + // rule labels: retval
19.5380 + // token list labels:
19.5381 + // rule list labels:
19.5382 + // wildcard labels:
19.5383 + if ( state.backtracking==0 ) {
19.5384 + retval.tree = root_0;
19.5385 + RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);
19.5386 +
19.5387 + root_0 = (CommonTree)adaptor.nil();
19.5388 + // 248:40: -> SEMPRED
19.5389 + {
19.5390 + dbg.location(248,43);
19.5391 + adaptor.addChild(root_0, stream_SEMPRED.nextNode());
19.5392 +
19.5393 + }
19.5394 +
19.5395 + retval.tree = root_0;}
19.5396 + }
19.5397 + break;
19.5398 +
19.5399 + }
19.5400 + } finally {dbg.exitSubRule(44);}
19.5401 +
19.5402 +
19.5403 + }
19.5404 + break;
19.5405 + case 7 :
19.5406 + dbg.enterAlt(7);
19.5407 +
19.5408 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:249:6: treeSpec ( ebnfSuffix -> ^( ebnfSuffix ^( BLOCK[\"BLOCK\"] ^( ALT[\"ALT\"] treeSpec EOA[\"EOA\"] ) EOB[\"EOB\"] ) ) | -> treeSpec )
19.5409 + {
19.5410 + dbg.location(249,6);
19.5411 + pushFollow(FOLLOW_treeSpec_in_elementNoOptionSpec1739);
19.5412 + treeSpec105=treeSpec();
19.5413 +
19.5414 + state._fsp--;
19.5415 + if (state.failed) return retval;
19.5416 + if ( state.backtracking==0 ) stream_treeSpec.add(treeSpec105.getTree());
19.5417 + dbg.location(250,3);
19.5418 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:250:3: ( ebnfSuffix -> ^( ebnfSuffix ^( BLOCK[\"BLOCK\"] ^( ALT[\"ALT\"] treeSpec EOA[\"EOA\"] ) EOB[\"EOB\"] ) ) | -> treeSpec )
19.5419 + int alt45=2;
19.5420 + try { dbg.enterSubRule(45);
19.5421 + try { dbg.enterDecision(45, decisionCanBacktrack[45]);
19.5422 +
19.5423 + int LA45_0 = input.LA(1);
19.5424 +
19.5425 + if ( (LA45_0==74||(LA45_0>=90 && LA45_0<=91)) ) {
19.5426 + alt45=1;
19.5427 + }
19.5428 + else if ( (LA45_0==SEMPRED||LA45_0==TREE_BEGIN||LA45_0==REWRITE||(LA45_0>=TOKEN_REF && LA45_0<=ACTION)||LA45_0==RULE_REF||LA45_0==69||(LA45_0>=82 && LA45_0<=84)||LA45_0==89||LA45_0==92) ) {
19.5429 + alt45=2;
19.5430 + }
19.5431 + else {
19.5432 + if (state.backtracking>0) {state.failed=true; return retval;}
19.5433 + NoViableAltException nvae =
19.5434 + new NoViableAltException("", 45, 0, input);
19.5435 +
19.5436 + dbg.recognitionException(nvae);
19.5437 + throw nvae;
19.5438 + }
19.5439 + } finally {dbg.exitDecision(45);}
19.5440 +
19.5441 + switch (alt45) {
19.5442 + case 1 :
19.5443 + dbg.enterAlt(1);
19.5444 +
19.5445 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:250:5: ebnfSuffix
19.5446 + {
19.5447 + dbg.location(250,5);
19.5448 + pushFollow(FOLLOW_ebnfSuffix_in_elementNoOptionSpec1745);
19.5449 + ebnfSuffix106=ebnfSuffix();
19.5450 +
19.5451 + state._fsp--;
19.5452 + if (state.failed) return retval;
19.5453 + if ( state.backtracking==0 ) stream_ebnfSuffix.add(ebnfSuffix106.getTree());
19.5454 +
19.5455 +
19.5456 + // AST REWRITE
19.5457 + // elements: ebnfSuffix, treeSpec
19.5458 + // token labels:
19.5459 + // rule labels: retval
19.5460 + // token list labels:
19.5461 + // rule list labels:
19.5462 + // wildcard labels:
19.5463 + if ( state.backtracking==0 ) {
19.5464 + retval.tree = root_0;
19.5465 + RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);
19.5466 +
19.5467 + root_0 = (CommonTree)adaptor.nil();
19.5468 + // 250:16: -> ^( ebnfSuffix ^( BLOCK[\"BLOCK\"] ^( ALT[\"ALT\"] treeSpec EOA[\"EOA\"] ) EOB[\"EOB\"] ) )
19.5469 + {
19.5470 + dbg.location(250,19);
19.5471 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:250:19: ^( ebnfSuffix ^( BLOCK[\"BLOCK\"] ^( ALT[\"ALT\"] treeSpec EOA[\"EOA\"] ) EOB[\"EOB\"] ) )
19.5472 + {
19.5473 + CommonTree root_1 = (CommonTree)adaptor.nil();
19.5474 + dbg.location(250,22);
19.5475 + root_1 = (CommonTree)adaptor.becomeRoot(stream_ebnfSuffix.nextNode(), root_1);
19.5476 +
19.5477 + dbg.location(250,33);
19.5478 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:250:33: ^( BLOCK[\"BLOCK\"] ^( ALT[\"ALT\"] treeSpec EOA[\"EOA\"] ) EOB[\"EOB\"] )
19.5479 + {
19.5480 + CommonTree root_2 = (CommonTree)adaptor.nil();
19.5481 + dbg.location(250,35);
19.5482 + root_2 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(BLOCK, "BLOCK"), root_2);
19.5483 +
19.5484 + dbg.location(250,50);
19.5485 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:250:50: ^( ALT[\"ALT\"] treeSpec EOA[\"EOA\"] )
19.5486 + {
19.5487 + CommonTree root_3 = (CommonTree)adaptor.nil();
19.5488 + dbg.location(250,52);
19.5489 + root_3 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(ALT, "ALT"), root_3);
19.5490 +
19.5491 + dbg.location(250,63);
19.5492 + adaptor.addChild(root_3, stream_treeSpec.nextTree());
19.5493 + dbg.location(250,72);
19.5494 + adaptor.addChild(root_3, (CommonTree)adaptor.create(EOA, "EOA"));
19.5495 +
19.5496 + adaptor.addChild(root_2, root_3);
19.5497 + }
19.5498 + dbg.location(250,84);
19.5499 + adaptor.addChild(root_2, (CommonTree)adaptor.create(EOB, "EOB"));
19.5500 +
19.5501 + adaptor.addChild(root_1, root_2);
19.5502 + }
19.5503 +
19.5504 + adaptor.addChild(root_0, root_1);
19.5505 + }
19.5506 +
19.5507 + }
19.5508 +
19.5509 + retval.tree = root_0;}
19.5510 + }
19.5511 + break;
19.5512 + case 2 :
19.5513 + dbg.enterAlt(2);
19.5514 +
19.5515 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:251:8:
19.5516 + {
19.5517 +
19.5518 + // AST REWRITE
19.5519 + // elements: treeSpec
19.5520 + // token labels:
19.5521 + // rule labels: retval
19.5522 + // token list labels:
19.5523 + // rule list labels:
19.5524 + // wildcard labels:
19.5525 + if ( state.backtracking==0 ) {
19.5526 + retval.tree = root_0;
19.5527 + RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);
19.5528 +
19.5529 + root_0 = (CommonTree)adaptor.nil();
19.5530 + // 251:8: -> treeSpec
19.5531 + {
19.5532 + dbg.location(251,11);
19.5533 + adaptor.addChild(root_0, stream_treeSpec.nextTree());
19.5534 +
19.5535 + }
19.5536 +
19.5537 + retval.tree = root_0;}
19.5538 + }
19.5539 + break;
19.5540 +
19.5541 + }
19.5542 + } finally {dbg.exitSubRule(45);}
19.5543 +
19.5544 +
19.5545 + }
19.5546 + break;
19.5547 +
19.5548 + }
19.5549 + retval.stop = input.LT(-1);
19.5550 +
19.5551 + if ( state.backtracking==0 ) {
19.5552 +
19.5553 + retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
19.5554 + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
19.5555 + }
19.5556 + }
19.5557 + catch (RecognitionException re) {
19.5558 + reportError(re);
19.5559 + recover(input,re);
19.5560 + retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re);
19.5561 +
19.5562 + }
19.5563 + finally {
19.5564 + }
19.5565 + dbg.location(253, 2);
19.5566 +
19.5567 + }
19.5568 + finally {
19.5569 + dbg.exitRule(getGrammarFileName(), "elementNoOptionSpec");
19.5570 + decRuleLevel();
19.5571 + if ( getRuleLevel()==0 ) {dbg.terminate();}
19.5572 + }
19.5573 +
19.5574 + return retval;
19.5575 + }
19.5576 + // $ANTLR end "elementNoOptionSpec"
19.5577 +
19.5578 + public static class atom_return extends ParserRuleReturnScope {
19.5579 + CommonTree tree;
19.5580 + public Object getTree() { return tree; }
19.5581 + };
19.5582 +
19.5583 + // $ANTLR start "atom"
19.5584 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:255:1: atom : ( range ( (op= '^' | op= '!' ) -> ^( $op range ) | -> range ) | terminal | notSet ( (op= '^' | op= '!' ) -> ^( $op notSet ) | -> notSet ) | RULE_REF (arg= ARG_ACTION )? ( (op= '^' | op= '!' ) )? -> {$arg!=null&&op!=null}? ^( $op RULE_REF $arg) -> {$arg!=null}? ^( RULE_REF $arg) -> {$op!=null}? ^( $op RULE_REF ) -> RULE_REF );
19.5585 + public final ANTLRv3Parser.atom_return atom() throws RecognitionException {
19.5586 + ANTLRv3Parser.atom_return retval = new ANTLRv3Parser.atom_return();
19.5587 + retval.start = input.LT(1);
19.5588 +
19.5589 + CommonTree root_0 = null;
19.5590 +
19.5591 + Token op=null;
19.5592 + Token arg=null;
19.5593 + Token RULE_REF110=null;
19.5594 + ANTLRv3Parser.range_return range107 = null;
19.5595 +
19.5596 + ANTLRv3Parser.terminal_return terminal108 = null;
19.5597 +
19.5598 + ANTLRv3Parser.notSet_return notSet109 = null;
19.5599 +
19.5600 +
19.5601 + CommonTree op_tree=null;
19.5602 + CommonTree arg_tree=null;
19.5603 + CommonTree RULE_REF110_tree=null;
19.5604 + RewriteRuleTokenStream stream_BANG=new RewriteRuleTokenStream(adaptor,"token BANG");
19.5605 + RewriteRuleTokenStream stream_ROOT=new RewriteRuleTokenStream(adaptor,"token ROOT");
19.5606 + RewriteRuleTokenStream stream_RULE_REF=new RewriteRuleTokenStream(adaptor,"token RULE_REF");
19.5607 + RewriteRuleTokenStream stream_ARG_ACTION=new RewriteRuleTokenStream(adaptor,"token ARG_ACTION");
19.5608 + RewriteRuleSubtreeStream stream_range=new RewriteRuleSubtreeStream(adaptor,"rule range");
19.5609 + RewriteRuleSubtreeStream stream_notSet=new RewriteRuleSubtreeStream(adaptor,"rule notSet");
19.5610 + try { dbg.enterRule(getGrammarFileName(), "atom");
19.5611 + if ( getRuleLevel()==0 ) {dbg.commence();}
19.5612 + incRuleLevel();
19.5613 + dbg.location(255, 1);
19.5614 +
19.5615 + try {
19.5616 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:255:5: ( range ( (op= '^' | op= '!' ) -> ^( $op range ) | -> range ) | terminal | notSet ( (op= '^' | op= '!' ) -> ^( $op notSet ) | -> notSet ) | RULE_REF (arg= ARG_ACTION )? ( (op= '^' | op= '!' ) )? -> {$arg!=null&&op!=null}? ^( $op RULE_REF $arg) -> {$arg!=null}? ^( RULE_REF $arg) -> {$op!=null}? ^( $op RULE_REF ) -> RULE_REF )
19.5617 + int alt54=4;
19.5618 + try { dbg.enterDecision(54, decisionCanBacktrack[54]);
19.5619 +
19.5620 + switch ( input.LA(1) ) {
19.5621 + case CHAR_LITERAL:
19.5622 + {
19.5623 + int LA54_1 = input.LA(2);
19.5624 +
19.5625 + if ( (LA54_1==RANGE) ) {
19.5626 + alt54=1;
19.5627 + }
19.5628 + else if ( (LA54_1==SEMPRED||(LA54_1>=TREE_BEGIN && LA54_1<=REWRITE)||(LA54_1>=TOKEN_REF && LA54_1<=ACTION)||LA54_1==RULE_REF||LA54_1==69||LA54_1==74||(LA54_1>=82 && LA54_1<=84)||(LA54_1>=89 && LA54_1<=92)) ) {
19.5629 + alt54=2;
19.5630 + }
19.5631 + else {
19.5632 + if (state.backtracking>0) {state.failed=true; return retval;}
19.5633 + NoViableAltException nvae =
19.5634 + new NoViableAltException("", 54, 1, input);
19.5635 +
19.5636 + dbg.recognitionException(nvae);
19.5637 + throw nvae;
19.5638 + }
19.5639 + }
19.5640 + break;
19.5641 + case TOKEN_REF:
19.5642 + case STRING_LITERAL:
19.5643 + case 92:
19.5644 + {
19.5645 + alt54=2;
19.5646 + }
19.5647 + break;
19.5648 + case 89:
19.5649 + {
19.5650 + alt54=3;
19.5651 + }
19.5652 + break;
19.5653 + case RULE_REF:
19.5654 + {
19.5655 + alt54=4;
19.5656 + }
19.5657 + break;
19.5658 + default:
19.5659 + if (state.backtracking>0) {state.failed=true; return retval;}
19.5660 + NoViableAltException nvae =
19.5661 + new NoViableAltException("", 54, 0, input);
19.5662 +
19.5663 + dbg.recognitionException(nvae);
19.5664 + throw nvae;
19.5665 + }
19.5666 +
19.5667 + } finally {dbg.exitDecision(54);}
19.5668 +
19.5669 + switch (alt54) {
19.5670 + case 1 :
19.5671 + dbg.enterAlt(1);
19.5672 +
19.5673 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:255:9: range ( (op= '^' | op= '!' ) -> ^( $op range ) | -> range )
19.5674 + {
19.5675 + dbg.location(255,9);
19.5676 + pushFollow(FOLLOW_range_in_atom1797);
19.5677 + range107=range();
19.5678 +
19.5679 + state._fsp--;
19.5680 + if (state.failed) return retval;
19.5681 + if ( state.backtracking==0 ) stream_range.add(range107.getTree());
19.5682 + dbg.location(255,15);
19.5683 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:255:15: ( (op= '^' | op= '!' ) -> ^( $op range ) | -> range )
19.5684 + int alt48=2;
19.5685 + try { dbg.enterSubRule(48);
19.5686 + try { dbg.enterDecision(48, decisionCanBacktrack[48]);
19.5687 +
19.5688 + int LA48_0 = input.LA(1);
19.5689 +
19.5690 + if ( ((LA48_0>=ROOT && LA48_0<=BANG)) ) {
19.5691 + alt48=1;
19.5692 + }
19.5693 + else if ( (LA48_0==SEMPRED||LA48_0==TREE_BEGIN||LA48_0==REWRITE||(LA48_0>=TOKEN_REF && LA48_0<=ACTION)||LA48_0==RULE_REF||LA48_0==69||LA48_0==74||(LA48_0>=82 && LA48_0<=84)||(LA48_0>=89 && LA48_0<=92)) ) {
19.5694 + alt48=2;
19.5695 + }
19.5696 + else {
19.5697 + if (state.backtracking>0) {state.failed=true; return retval;}
19.5698 + NoViableAltException nvae =
19.5699 + new NoViableAltException("", 48, 0, input);
19.5700 +
19.5701 + dbg.recognitionException(nvae);
19.5702 + throw nvae;
19.5703 + }
19.5704 + } finally {dbg.exitDecision(48);}
19.5705 +
19.5706 + switch (alt48) {
19.5707 + case 1 :
19.5708 + dbg.enterAlt(1);
19.5709 +
19.5710 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:255:17: (op= '^' | op= '!' )
19.5711 + {
19.5712 + dbg.location(255,17);
19.5713 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:255:17: (op= '^' | op= '!' )
19.5714 + int alt47=2;
19.5715 + try { dbg.enterSubRule(47);
19.5716 + try { dbg.enterDecision(47, decisionCanBacktrack[47]);
19.5717 +
19.5718 + int LA47_0 = input.LA(1);
19.5719 +
19.5720 + if ( (LA47_0==ROOT) ) {
19.5721 + alt47=1;
19.5722 + }
19.5723 + else if ( (LA47_0==BANG) ) {
19.5724 + alt47=2;
19.5725 + }
19.5726 + else {
19.5727 + if (state.backtracking>0) {state.failed=true; return retval;}
19.5728 + NoViableAltException nvae =
19.5729 + new NoViableAltException("", 47, 0, input);
19.5730 +
19.5731 + dbg.recognitionException(nvae);
19.5732 + throw nvae;
19.5733 + }
19.5734 + } finally {dbg.exitDecision(47);}
19.5735 +
19.5736 + switch (alt47) {
19.5737 + case 1 :
19.5738 + dbg.enterAlt(1);
19.5739 +
19.5740 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:255:18: op= '^'
19.5741 + {
19.5742 + dbg.location(255,20);
19.5743 + op=(Token)match(input,ROOT,FOLLOW_ROOT_in_atom1804); if (state.failed) return retval;
19.5744 + if ( state.backtracking==0 ) stream_ROOT.add(op);
19.5745 +
19.5746 +
19.5747 + }
19.5748 + break;
19.5749 + case 2 :
19.5750 + dbg.enterAlt(2);
19.5751 +
19.5752 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:255:25: op= '!'
19.5753 + {
19.5754 + dbg.location(255,27);
19.5755 + op=(Token)match(input,BANG,FOLLOW_BANG_in_atom1808); if (state.failed) return retval;
19.5756 + if ( state.backtracking==0 ) stream_BANG.add(op);
19.5757 +
19.5758 +
19.5759 + }
19.5760 + break;
19.5761 +
19.5762 + }
19.5763 + } finally {dbg.exitSubRule(47);}
19.5764 +
19.5765 +
19.5766 +
19.5767 + // AST REWRITE
19.5768 + // elements: op, range
19.5769 + // token labels: op
19.5770 + // rule labels: retval
19.5771 + // token list labels:
19.5772 + // rule list labels:
19.5773 + // wildcard labels:
19.5774 + if ( state.backtracking==0 ) {
19.5775 + retval.tree = root_0;
19.5776 + RewriteRuleTokenStream stream_op=new RewriteRuleTokenStream(adaptor,"token op",op);
19.5777 + RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);
19.5778 +
19.5779 + root_0 = (CommonTree)adaptor.nil();
19.5780 + // 255:33: -> ^( $op range )
19.5781 + {
19.5782 + dbg.location(255,36);
19.5783 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:255:36: ^( $op range )
19.5784 + {
19.5785 + CommonTree root_1 = (CommonTree)adaptor.nil();
19.5786 + dbg.location(255,38);
19.5787 + root_1 = (CommonTree)adaptor.becomeRoot(stream_op.nextNode(), root_1);
19.5788 +
19.5789 + dbg.location(255,42);
19.5790 + adaptor.addChild(root_1, stream_range.nextTree());
19.5791 +
19.5792 + adaptor.addChild(root_0, root_1);
19.5793 + }
19.5794 +
19.5795 + }
19.5796 +
19.5797 + retval.tree = root_0;}
19.5798 + }
19.5799 + break;
19.5800 + case 2 :
19.5801 + dbg.enterAlt(2);
19.5802 +
19.5803 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:255:51:
19.5804 + {
19.5805 +
19.5806 + // AST REWRITE
19.5807 + // elements: range
19.5808 + // token labels:
19.5809 + // rule labels: retval
19.5810 + // token list labels:
19.5811 + // rule list labels:
19.5812 + // wildcard labels:
19.5813 + if ( state.backtracking==0 ) {
19.5814 + retval.tree = root_0;
19.5815 + RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);
19.5816 +
19.5817 + root_0 = (CommonTree)adaptor.nil();
19.5818 + // 255:51: -> range
19.5819 + {
19.5820 + dbg.location(255,54);
19.5821 + adaptor.addChild(root_0, stream_range.nextTree());
19.5822 +
19.5823 + }
19.5824 +
19.5825 + retval.tree = root_0;}
19.5826 + }
19.5827 + break;
19.5828 +
19.5829 + }
19.5830 + } finally {dbg.exitSubRule(48);}
19.5831 +
19.5832 +
19.5833 + }
19.5834 + break;
19.5835 + case 2 :
19.5836 + dbg.enterAlt(2);
19.5837 +
19.5838 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:256:9: terminal
19.5839 + {
19.5840 + root_0 = (CommonTree)adaptor.nil();
19.5841 +
19.5842 + dbg.location(256,9);
19.5843 + pushFollow(FOLLOW_terminal_in_atom1836);
19.5844 + terminal108=terminal();
19.5845 +
19.5846 + state._fsp--;
19.5847 + if (state.failed) return retval;
19.5848 + if ( state.backtracking==0 ) adaptor.addChild(root_0, terminal108.getTree());
19.5849 +
19.5850 + }
19.5851 + break;
19.5852 + case 3 :
19.5853 + dbg.enterAlt(3);
19.5854 +
19.5855 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:257:7: notSet ( (op= '^' | op= '!' ) -> ^( $op notSet ) | -> notSet )
19.5856 + {
19.5857 + dbg.location(257,7);
19.5858 + pushFollow(FOLLOW_notSet_in_atom1844);
19.5859 + notSet109=notSet();
19.5860 +
19.5861 + state._fsp--;
19.5862 + if (state.failed) return retval;
19.5863 + if ( state.backtracking==0 ) stream_notSet.add(notSet109.getTree());
19.5864 + dbg.location(257,14);
19.5865 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:257:14: ( (op= '^' | op= '!' ) -> ^( $op notSet ) | -> notSet )
19.5866 + int alt50=2;
19.5867 + try { dbg.enterSubRule(50);
19.5868 + try { dbg.enterDecision(50, decisionCanBacktrack[50]);
19.5869 +
19.5870 + int LA50_0 = input.LA(1);
19.5871 +
19.5872 + if ( ((LA50_0>=ROOT && LA50_0<=BANG)) ) {
19.5873 + alt50=1;
19.5874 + }
19.5875 + else if ( (LA50_0==SEMPRED||LA50_0==TREE_BEGIN||LA50_0==REWRITE||(LA50_0>=TOKEN_REF && LA50_0<=ACTION)||LA50_0==RULE_REF||LA50_0==69||LA50_0==74||(LA50_0>=82 && LA50_0<=84)||(LA50_0>=89 && LA50_0<=92)) ) {
19.5876 + alt50=2;
19.5877 + }
19.5878 + else {
19.5879 + if (state.backtracking>0) {state.failed=true; return retval;}
19.5880 + NoViableAltException nvae =
19.5881 + new NoViableAltException("", 50, 0, input);
19.5882 +
19.5883 + dbg.recognitionException(nvae);
19.5884 + throw nvae;
19.5885 + }
19.5886 + } finally {dbg.exitDecision(50);}
19.5887 +
19.5888 + switch (alt50) {
19.5889 + case 1 :
19.5890 + dbg.enterAlt(1);
19.5891 +
19.5892 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:257:16: (op= '^' | op= '!' )
19.5893 + {
19.5894 + dbg.location(257,16);
19.5895 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:257:16: (op= '^' | op= '!' )
19.5896 + int alt49=2;
19.5897 + try { dbg.enterSubRule(49);
19.5898 + try { dbg.enterDecision(49, decisionCanBacktrack[49]);
19.5899 +
19.5900 + int LA49_0 = input.LA(1);
19.5901 +
19.5902 + if ( (LA49_0==ROOT) ) {
19.5903 + alt49=1;
19.5904 + }
19.5905 + else if ( (LA49_0==BANG) ) {
19.5906 + alt49=2;
19.5907 + }
19.5908 + else {
19.5909 + if (state.backtracking>0) {state.failed=true; return retval;}
19.5910 + NoViableAltException nvae =
19.5911 + new NoViableAltException("", 49, 0, input);
19.5912 +
19.5913 + dbg.recognitionException(nvae);
19.5914 + throw nvae;
19.5915 + }
19.5916 + } finally {dbg.exitDecision(49);}
19.5917 +
19.5918 + switch (alt49) {
19.5919 + case 1 :
19.5920 + dbg.enterAlt(1);
19.5921 +
19.5922 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:257:17: op= '^'
19.5923 + {
19.5924 + dbg.location(257,19);
19.5925 + op=(Token)match(input,ROOT,FOLLOW_ROOT_in_atom1851); if (state.failed) return retval;
19.5926 + if ( state.backtracking==0 ) stream_ROOT.add(op);
19.5927 +
19.5928 +
19.5929 + }
19.5930 + break;
19.5931 + case 2 :
19.5932 + dbg.enterAlt(2);
19.5933 +
19.5934 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:257:24: op= '!'
19.5935 + {
19.5936 + dbg.location(257,26);
19.5937 + op=(Token)match(input,BANG,FOLLOW_BANG_in_atom1855); if (state.failed) return retval;
19.5938 + if ( state.backtracking==0 ) stream_BANG.add(op);
19.5939 +
19.5940 +
19.5941 + }
19.5942 + break;
19.5943 +
19.5944 + }
19.5945 + } finally {dbg.exitSubRule(49);}
19.5946 +
19.5947 +
19.5948 +
19.5949 + // AST REWRITE
19.5950 + // elements: notSet, op
19.5951 + // token labels: op
19.5952 + // rule labels: retval
19.5953 + // token list labels:
19.5954 + // rule list labels:
19.5955 + // wildcard labels:
19.5956 + if ( state.backtracking==0 ) {
19.5957 + retval.tree = root_0;
19.5958 + RewriteRuleTokenStream stream_op=new RewriteRuleTokenStream(adaptor,"token op",op);
19.5959 + RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);
19.5960 +
19.5961 + root_0 = (CommonTree)adaptor.nil();
19.5962 + // 257:32: -> ^( $op notSet )
19.5963 + {
19.5964 + dbg.location(257,35);
19.5965 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:257:35: ^( $op notSet )
19.5966 + {
19.5967 + CommonTree root_1 = (CommonTree)adaptor.nil();
19.5968 + dbg.location(257,37);
19.5969 + root_1 = (CommonTree)adaptor.becomeRoot(stream_op.nextNode(), root_1);
19.5970 +
19.5971 + dbg.location(257,41);
19.5972 + adaptor.addChild(root_1, stream_notSet.nextTree());
19.5973 +
19.5974 + adaptor.addChild(root_0, root_1);
19.5975 + }
19.5976 +
19.5977 + }
19.5978 +
19.5979 + retval.tree = root_0;}
19.5980 + }
19.5981 + break;
19.5982 + case 2 :
19.5983 + dbg.enterAlt(2);
19.5984 +
19.5985 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:257:51:
19.5986 + {
19.5987 +
19.5988 + // AST REWRITE
19.5989 + // elements: notSet
19.5990 + // token labels:
19.5991 + // rule labels: retval
19.5992 + // token list labels:
19.5993 + // rule list labels:
19.5994 + // wildcard labels:
19.5995 + if ( state.backtracking==0 ) {
19.5996 + retval.tree = root_0;
19.5997 + RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);
19.5998 +
19.5999 + root_0 = (CommonTree)adaptor.nil();
19.6000 + // 257:51: -> notSet
19.6001 + {
19.6002 + dbg.location(257,54);
19.6003 + adaptor.addChild(root_0, stream_notSet.nextTree());
19.6004 +
19.6005 + }
19.6006 +
19.6007 + retval.tree = root_0;}
19.6008 + }
19.6009 + break;
19.6010 +
19.6011 + }
19.6012 + } finally {dbg.exitSubRule(50);}
19.6013 +
19.6014 +
19.6015 + }
19.6016 + break;
19.6017 + case 4 :
19.6018 + dbg.enterAlt(4);
19.6019 +
19.6020 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:258:9: RULE_REF (arg= ARG_ACTION )? ( (op= '^' | op= '!' ) )?
19.6021 + {
19.6022 + dbg.location(258,9);
19.6023 + RULE_REF110=(Token)match(input,RULE_REF,FOLLOW_RULE_REF_in_atom1883); if (state.failed) return retval;
19.6024 + if ( state.backtracking==0 ) stream_RULE_REF.add(RULE_REF110);
19.6025 +
19.6026 + dbg.location(258,18);
19.6027 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:258:18: (arg= ARG_ACTION )?
19.6028 + int alt51=2;
19.6029 + try { dbg.enterSubRule(51);
19.6030 + try { dbg.enterDecision(51, decisionCanBacktrack[51]);
19.6031 +
19.6032 + int LA51_0 = input.LA(1);
19.6033 +
19.6034 + if ( (LA51_0==ARG_ACTION) ) {
19.6035 + alt51=1;
19.6036 + }
19.6037 + } finally {dbg.exitDecision(51);}
19.6038 +
19.6039 + switch (alt51) {
19.6040 + case 1 :
19.6041 + dbg.enterAlt(1);
19.6042 +
19.6043 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:258:20: arg= ARG_ACTION
19.6044 + {
19.6045 + dbg.location(258,23);
19.6046 + arg=(Token)match(input,ARG_ACTION,FOLLOW_ARG_ACTION_in_atom1889); if (state.failed) return retval;
19.6047 + if ( state.backtracking==0 ) stream_ARG_ACTION.add(arg);
19.6048 +
19.6049 +
19.6050 + }
19.6051 + break;
19.6052 +
19.6053 + }
19.6054 + } finally {dbg.exitSubRule(51);}
19.6055 +
19.6056 + dbg.location(258,38);
19.6057 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:258:38: ( (op= '^' | op= '!' ) )?
19.6058 + int alt53=2;
19.6059 + try { dbg.enterSubRule(53);
19.6060 + try { dbg.enterDecision(53, decisionCanBacktrack[53]);
19.6061 +
19.6062 + int LA53_0 = input.LA(1);
19.6063 +
19.6064 + if ( ((LA53_0>=ROOT && LA53_0<=BANG)) ) {
19.6065 + alt53=1;
19.6066 + }
19.6067 + } finally {dbg.exitDecision(53);}
19.6068 +
19.6069 + switch (alt53) {
19.6070 + case 1 :
19.6071 + dbg.enterAlt(1);
19.6072 +
19.6073 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:258:40: (op= '^' | op= '!' )
19.6074 + {
19.6075 + dbg.location(258,40);
19.6076 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:258:40: (op= '^' | op= '!' )
19.6077 + int alt52=2;
19.6078 + try { dbg.enterSubRule(52);
19.6079 + try { dbg.enterDecision(52, decisionCanBacktrack[52]);
19.6080 +
19.6081 + int LA52_0 = input.LA(1);
19.6082 +
19.6083 + if ( (LA52_0==ROOT) ) {
19.6084 + alt52=1;
19.6085 + }
19.6086 + else if ( (LA52_0==BANG) ) {
19.6087 + alt52=2;
19.6088 + }
19.6089 + else {
19.6090 + if (state.backtracking>0) {state.failed=true; return retval;}
19.6091 + NoViableAltException nvae =
19.6092 + new NoViableAltException("", 52, 0, input);
19.6093 +
19.6094 + dbg.recognitionException(nvae);
19.6095 + throw nvae;
19.6096 + }
19.6097 + } finally {dbg.exitDecision(52);}
19.6098 +
19.6099 + switch (alt52) {
19.6100 + case 1 :
19.6101 + dbg.enterAlt(1);
19.6102 +
19.6103 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:258:41: op= '^'
19.6104 + {
19.6105 + dbg.location(258,43);
19.6106 + op=(Token)match(input,ROOT,FOLLOW_ROOT_in_atom1899); if (state.failed) return retval;
19.6107 + if ( state.backtracking==0 ) stream_ROOT.add(op);
19.6108 +
19.6109 +
19.6110 + }
19.6111 + break;
19.6112 + case 2 :
19.6113 + dbg.enterAlt(2);
19.6114 +
19.6115 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:258:48: op= '!'
19.6116 + {
19.6117 + dbg.location(258,50);
19.6118 + op=(Token)match(input,BANG,FOLLOW_BANG_in_atom1903); if (state.failed) return retval;
19.6119 + if ( state.backtracking==0 ) stream_BANG.add(op);
19.6120 +
19.6121 +
19.6122 + }
19.6123 + break;
19.6124 +
19.6125 + }
19.6126 + } finally {dbg.exitSubRule(52);}
19.6127 +
19.6128 +
19.6129 + }
19.6130 + break;
19.6131 +
19.6132 + }
19.6133 + } finally {dbg.exitSubRule(53);}
19.6134 +
19.6135 +
19.6136 +
19.6137 + // AST REWRITE
19.6138 + // elements: op, op, RULE_REF, arg, RULE_REF, RULE_REF, RULE_REF, arg
19.6139 + // token labels: arg, op
19.6140 + // rule labels: retval
19.6141 + // token list labels:
19.6142 + // rule list labels:
19.6143 + // wildcard labels:
19.6144 + if ( state.backtracking==0 ) {
19.6145 + retval.tree = root_0;
19.6146 + RewriteRuleTokenStream stream_arg=new RewriteRuleTokenStream(adaptor,"token arg",arg);
19.6147 + RewriteRuleTokenStream stream_op=new RewriteRuleTokenStream(adaptor,"token op",op);
19.6148 + RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);
19.6149 +
19.6150 + root_0 = (CommonTree)adaptor.nil();
19.6151 + // 259:6: -> {$arg!=null&&op!=null}? ^( $op RULE_REF $arg)
19.6152 + if (arg!=null&&op!=null) {
19.6153 + dbg.location(259,33);
19.6154 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:259:33: ^( $op RULE_REF $arg)
19.6155 + {
19.6156 + CommonTree root_1 = (CommonTree)adaptor.nil();
19.6157 + dbg.location(259,35);
19.6158 + root_1 = (CommonTree)adaptor.becomeRoot(stream_op.nextNode(), root_1);
19.6159 +
19.6160 + dbg.location(259,39);
19.6161 + adaptor.addChild(root_1, stream_RULE_REF.nextNode());
19.6162 + dbg.location(259,48);
19.6163 + adaptor.addChild(root_1, stream_arg.nextNode());
19.6164 +
19.6165 + adaptor.addChild(root_0, root_1);
19.6166 + }
19.6167 +
19.6168 + }
19.6169 + else // 260:6: -> {$arg!=null}? ^( RULE_REF $arg)
19.6170 + if (arg!=null) {
19.6171 + dbg.location(260,25);
19.6172 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:260:25: ^( RULE_REF $arg)
19.6173 + {
19.6174 + CommonTree root_1 = (CommonTree)adaptor.nil();
19.6175 + dbg.location(260,27);
19.6176 + root_1 = (CommonTree)adaptor.becomeRoot(stream_RULE_REF.nextNode(), root_1);
19.6177 +
19.6178 + dbg.location(260,36);
19.6179 + adaptor.addChild(root_1, stream_arg.nextNode());
19.6180 +
19.6181 + adaptor.addChild(root_0, root_1);
19.6182 + }
19.6183 +
19.6184 + }
19.6185 + else // 261:6: -> {$op!=null}? ^( $op RULE_REF )
19.6186 + if (op!=null) {
19.6187 + dbg.location(261,25);
19.6188 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:261:25: ^( $op RULE_REF )
19.6189 + {
19.6190 + CommonTree root_1 = (CommonTree)adaptor.nil();
19.6191 + dbg.location(261,27);
19.6192 + root_1 = (CommonTree)adaptor.becomeRoot(stream_op.nextNode(), root_1);
19.6193 +
19.6194 + dbg.location(261,31);
19.6195 + adaptor.addChild(root_1, stream_RULE_REF.nextNode());
19.6196 +
19.6197 + adaptor.addChild(root_0, root_1);
19.6198 + }
19.6199 +
19.6200 + }
19.6201 + else // 262:6: -> RULE_REF
19.6202 + {
19.6203 + dbg.location(262,9);
19.6204 + adaptor.addChild(root_0, stream_RULE_REF.nextNode());
19.6205 +
19.6206 + }
19.6207 +
19.6208 + retval.tree = root_0;}
19.6209 + }
19.6210 + break;
19.6211 +
19.6212 + }
19.6213 + retval.stop = input.LT(-1);
19.6214 +
19.6215 + if ( state.backtracking==0 ) {
19.6216 +
19.6217 + retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
19.6218 + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
19.6219 + }
19.6220 + }
19.6221 + catch (RecognitionException re) {
19.6222 + reportError(re);
19.6223 + recover(input,re);
19.6224 + retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re);
19.6225 +
19.6226 + }
19.6227 + finally {
19.6228 + }
19.6229 + dbg.location(263, 5);
19.6230 +
19.6231 + }
19.6232 + finally {
19.6233 + dbg.exitRule(getGrammarFileName(), "atom");
19.6234 + decRuleLevel();
19.6235 + if ( getRuleLevel()==0 ) {dbg.terminate();}
19.6236 + }
19.6237 +
19.6238 + return retval;
19.6239 + }
19.6240 + // $ANTLR end "atom"
19.6241 +
19.6242 + public static class notSet_return extends ParserRuleReturnScope {
19.6243 + CommonTree tree;
19.6244 + public Object getTree() { return tree; }
19.6245 + };
19.6246 +
19.6247 + // $ANTLR start "notSet"
19.6248 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:265:1: notSet : '~' ( notTerminal -> ^( '~' notTerminal ) | block -> ^( '~' block ) ) ;
19.6249 + public final ANTLRv3Parser.notSet_return notSet() throws RecognitionException {
19.6250 + ANTLRv3Parser.notSet_return retval = new ANTLRv3Parser.notSet_return();
19.6251 + retval.start = input.LT(1);
19.6252 +
19.6253 + CommonTree root_0 = null;
19.6254 +
19.6255 + Token char_literal111=null;
19.6256 + ANTLRv3Parser.notTerminal_return notTerminal112 = null;
19.6257 +
19.6258 + ANTLRv3Parser.block_return block113 = null;
19.6259 +
19.6260 +
19.6261 + CommonTree char_literal111_tree=null;
19.6262 + RewriteRuleTokenStream stream_89=new RewriteRuleTokenStream(adaptor,"token 89");
19.6263 + RewriteRuleSubtreeStream stream_notTerminal=new RewriteRuleSubtreeStream(adaptor,"rule notTerminal");
19.6264 + RewriteRuleSubtreeStream stream_block=new RewriteRuleSubtreeStream(adaptor,"rule block");
19.6265 + try { dbg.enterRule(getGrammarFileName(), "notSet");
19.6266 + if ( getRuleLevel()==0 ) {dbg.commence();}
19.6267 + incRuleLevel();
19.6268 + dbg.location(265, 1);
19.6269 +
19.6270 + try {
19.6271 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:266:2: ( '~' ( notTerminal -> ^( '~' notTerminal ) | block -> ^( '~' block ) ) )
19.6272 + dbg.enterAlt(1);
19.6273 +
19.6274 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:266:4: '~' ( notTerminal -> ^( '~' notTerminal ) | block -> ^( '~' block ) )
19.6275 + {
19.6276 + dbg.location(266,4);
19.6277 + char_literal111=(Token)match(input,89,FOLLOW_89_in_notSet1986); if (state.failed) return retval;
19.6278 + if ( state.backtracking==0 ) stream_89.add(char_literal111);
19.6279 +
19.6280 + dbg.location(267,3);
19.6281 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:267:3: ( notTerminal -> ^( '~' notTerminal ) | block -> ^( '~' block ) )
19.6282 + int alt55=2;
19.6283 + try { dbg.enterSubRule(55);
19.6284 + try { dbg.enterDecision(55, decisionCanBacktrack[55]);
19.6285 +
19.6286 + int LA55_0 = input.LA(1);
19.6287 +
19.6288 + if ( ((LA55_0>=TOKEN_REF && LA55_0<=CHAR_LITERAL)) ) {
19.6289 + alt55=1;
19.6290 + }
19.6291 + else if ( (LA55_0==82) ) {
19.6292 + alt55=2;
19.6293 + }
19.6294 + else {
19.6295 + if (state.backtracking>0) {state.failed=true; return retval;}
19.6296 + NoViableAltException nvae =
19.6297 + new NoViableAltException("", 55, 0, input);
19.6298 +
19.6299 + dbg.recognitionException(nvae);
19.6300 + throw nvae;
19.6301 + }
19.6302 + } finally {dbg.exitDecision(55);}
19.6303 +
19.6304 + switch (alt55) {
19.6305 + case 1 :
19.6306 + dbg.enterAlt(1);
19.6307 +
19.6308 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:267:5: notTerminal
19.6309 + {
19.6310 + dbg.location(267,5);
19.6311 + pushFollow(FOLLOW_notTerminal_in_notSet1992);
19.6312 + notTerminal112=notTerminal();
19.6313 +
19.6314 + state._fsp--;
19.6315 + if (state.failed) return retval;
19.6316 + if ( state.backtracking==0 ) stream_notTerminal.add(notTerminal112.getTree());
19.6317 +
19.6318 +
19.6319 + // AST REWRITE
19.6320 + // elements: 89, notTerminal
19.6321 + // token labels:
19.6322 + // rule labels: retval
19.6323 + // token list labels:
19.6324 + // rule list labels:
19.6325 + // wildcard labels:
19.6326 + if ( state.backtracking==0 ) {
19.6327 + retval.tree = root_0;
19.6328 + RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);
19.6329 +
19.6330 + root_0 = (CommonTree)adaptor.nil();
19.6331 + // 267:17: -> ^( '~' notTerminal )
19.6332 + {
19.6333 + dbg.location(267,20);
19.6334 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:267:20: ^( '~' notTerminal )
19.6335 + {
19.6336 + CommonTree root_1 = (CommonTree)adaptor.nil();
19.6337 + dbg.location(267,22);
19.6338 + root_1 = (CommonTree)adaptor.becomeRoot(stream_89.nextNode(), root_1);
19.6339 +
19.6340 + dbg.location(267,26);
19.6341 + adaptor.addChild(root_1, stream_notTerminal.nextTree());
19.6342 +
19.6343 + adaptor.addChild(root_0, root_1);
19.6344 + }
19.6345 +
19.6346 + }
19.6347 +
19.6348 + retval.tree = root_0;}
19.6349 + }
19.6350 + break;
19.6351 + case 2 :
19.6352 + dbg.enterAlt(2);
19.6353 +
19.6354 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:268:5: block
19.6355 + {
19.6356 + dbg.location(268,5);
19.6357 + pushFollow(FOLLOW_block_in_notSet2006);
19.6358 + block113=block();
19.6359 +
19.6360 + state._fsp--;
19.6361 + if (state.failed) return retval;
19.6362 + if ( state.backtracking==0 ) stream_block.add(block113.getTree());
19.6363 +
19.6364 +
19.6365 + // AST REWRITE
19.6366 + // elements: block, 89
19.6367 + // token labels:
19.6368 + // rule labels: retval
19.6369 + // token list labels:
19.6370 + // rule list labels:
19.6371 + // wildcard labels:
19.6372 + if ( state.backtracking==0 ) {
19.6373 + retval.tree = root_0;
19.6374 + RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);
19.6375 +
19.6376 + root_0 = (CommonTree)adaptor.nil();
19.6377 + // 268:12: -> ^( '~' block )
19.6378 + {
19.6379 + dbg.location(268,15);
19.6380 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:268:15: ^( '~' block )
19.6381 + {
19.6382 + CommonTree root_1 = (CommonTree)adaptor.nil();
19.6383 + dbg.location(268,17);
19.6384 + root_1 = (CommonTree)adaptor.becomeRoot(stream_89.nextNode(), root_1);
19.6385 +
19.6386 + dbg.location(268,21);
19.6387 + adaptor.addChild(root_1, stream_block.nextTree());
19.6388 +
19.6389 + adaptor.addChild(root_0, root_1);
19.6390 + }
19.6391 +
19.6392 + }
19.6393 +
19.6394 + retval.tree = root_0;}
19.6395 + }
19.6396 + break;
19.6397 +
19.6398 + }
19.6399 + } finally {dbg.exitSubRule(55);}
19.6400 +
19.6401 +
19.6402 + }
19.6403 +
19.6404 + retval.stop = input.LT(-1);
19.6405 +
19.6406 + if ( state.backtracking==0 ) {
19.6407 +
19.6408 + retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
19.6409 + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
19.6410 + }
19.6411 + }
19.6412 + catch (RecognitionException re) {
19.6413 + reportError(re);
19.6414 + recover(input,re);
19.6415 + retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re);
19.6416 +
19.6417 + }
19.6418 + finally {
19.6419 + }
19.6420 + dbg.location(270, 2);
19.6421 +
19.6422 + }
19.6423 + finally {
19.6424 + dbg.exitRule(getGrammarFileName(), "notSet");
19.6425 + decRuleLevel();
19.6426 + if ( getRuleLevel()==0 ) {dbg.terminate();}
19.6427 + }
19.6428 +
19.6429 + return retval;
19.6430 + }
19.6431 + // $ANTLR end "notSet"
19.6432 +
19.6433 + public static class treeSpec_return extends ParserRuleReturnScope {
19.6434 + CommonTree tree;
19.6435 + public Object getTree() { return tree; }
19.6436 + };
19.6437 +
19.6438 + // $ANTLR start "treeSpec"
19.6439 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:272:1: treeSpec : '^(' element ( element )+ ')' -> ^( TREE_BEGIN ( element )+ ) ;
19.6440 + public final ANTLRv3Parser.treeSpec_return treeSpec() throws RecognitionException {
19.6441 + ANTLRv3Parser.treeSpec_return retval = new ANTLRv3Parser.treeSpec_return();
19.6442 + retval.start = input.LT(1);
19.6443 +
19.6444 + CommonTree root_0 = null;
19.6445 +
19.6446 + Token string_literal114=null;
19.6447 + Token char_literal117=null;
19.6448 + ANTLRv3Parser.element_return element115 = null;
19.6449 +
19.6450 + ANTLRv3Parser.element_return element116 = null;
19.6451 +
19.6452 +
19.6453 + CommonTree string_literal114_tree=null;
19.6454 + CommonTree char_literal117_tree=null;
19.6455 + RewriteRuleTokenStream stream_TREE_BEGIN=new RewriteRuleTokenStream(adaptor,"token TREE_BEGIN");
19.6456 + RewriteRuleTokenStream stream_84=new RewriteRuleTokenStream(adaptor,"token 84");
19.6457 + RewriteRuleSubtreeStream stream_element=new RewriteRuleSubtreeStream(adaptor,"rule element");
19.6458 + try { dbg.enterRule(getGrammarFileName(), "treeSpec");
19.6459 + if ( getRuleLevel()==0 ) {dbg.commence();}
19.6460 + incRuleLevel();
19.6461 + dbg.location(272, 1);
19.6462 +
19.6463 + try {
19.6464 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:273:2: ( '^(' element ( element )+ ')' -> ^( TREE_BEGIN ( element )+ ) )
19.6465 + dbg.enterAlt(1);
19.6466 +
19.6467 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:273:4: '^(' element ( element )+ ')'
19.6468 + {
19.6469 + dbg.location(273,4);
19.6470 + string_literal114=(Token)match(input,TREE_BEGIN,FOLLOW_TREE_BEGIN_in_treeSpec2030); if (state.failed) return retval;
19.6471 + if ( state.backtracking==0 ) stream_TREE_BEGIN.add(string_literal114);
19.6472 +
19.6473 + dbg.location(273,9);
19.6474 + pushFollow(FOLLOW_element_in_treeSpec2032);
19.6475 + element115=element();
19.6476 +
19.6477 + state._fsp--;
19.6478 + if (state.failed) return retval;
19.6479 + if ( state.backtracking==0 ) stream_element.add(element115.getTree());
19.6480 + dbg.location(273,17);
19.6481 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:273:17: ( element )+
19.6482 + int cnt56=0;
19.6483 + try { dbg.enterSubRule(56);
19.6484 +
19.6485 + loop56:
19.6486 + do {
19.6487 + int alt56=2;
19.6488 + try { dbg.enterDecision(56, decisionCanBacktrack[56]);
19.6489 +
19.6490 + int LA56_0 = input.LA(1);
19.6491 +
19.6492 + if ( (LA56_0==SEMPRED||LA56_0==TREE_BEGIN||(LA56_0>=TOKEN_REF && LA56_0<=ACTION)||LA56_0==RULE_REF||LA56_0==82||LA56_0==89||LA56_0==92) ) {
19.6493 + alt56=1;
19.6494 + }
19.6495 +
19.6496 +
19.6497 + } finally {dbg.exitDecision(56);}
19.6498 +
19.6499 + switch (alt56) {
19.6500 + case 1 :
19.6501 + dbg.enterAlt(1);
19.6502 +
19.6503 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:273:19: element
19.6504 + {
19.6505 + dbg.location(273,19);
19.6506 + pushFollow(FOLLOW_element_in_treeSpec2036);
19.6507 + element116=element();
19.6508 +
19.6509 + state._fsp--;
19.6510 + if (state.failed) return retval;
19.6511 + if ( state.backtracking==0 ) stream_element.add(element116.getTree());
19.6512 +
19.6513 + }
19.6514 + break;
19.6515 +
19.6516 + default :
19.6517 + if ( cnt56 >= 1 ) break loop56;
19.6518 + if (state.backtracking>0) {state.failed=true; return retval;}
19.6519 + EarlyExitException eee =
19.6520 + new EarlyExitException(56, input);
19.6521 + dbg.recognitionException(eee);
19.6522 +
19.6523 + throw eee;
19.6524 + }
19.6525 + cnt56++;
19.6526 + } while (true);
19.6527 + } finally {dbg.exitSubRule(56);}
19.6528 +
19.6529 + dbg.location(273,30);
19.6530 + char_literal117=(Token)match(input,84,FOLLOW_84_in_treeSpec2041); if (state.failed) return retval;
19.6531 + if ( state.backtracking==0 ) stream_84.add(char_literal117);
19.6532 +
19.6533 +
19.6534 +
19.6535 + // AST REWRITE
19.6536 + // elements: element
19.6537 + // token labels:
19.6538 + // rule labels: retval
19.6539 + // token list labels:
19.6540 + // rule list labels:
19.6541 + // wildcard labels:
19.6542 + if ( state.backtracking==0 ) {
19.6543 + retval.tree = root_0;
19.6544 + RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);
19.6545 +
19.6546 + root_0 = (CommonTree)adaptor.nil();
19.6547 + // 273:34: -> ^( TREE_BEGIN ( element )+ )
19.6548 + {
19.6549 + dbg.location(273,37);
19.6550 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:273:37: ^( TREE_BEGIN ( element )+ )
19.6551 + {
19.6552 + CommonTree root_1 = (CommonTree)adaptor.nil();
19.6553 + dbg.location(273,39);
19.6554 + root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(TREE_BEGIN, "TREE_BEGIN"), root_1);
19.6555 +
19.6556 + dbg.location(273,50);
19.6557 + if ( !(stream_element.hasNext()) ) {
19.6558 + throw new RewriteEarlyExitException();
19.6559 + }
19.6560 + while ( stream_element.hasNext() ) {
19.6561 + dbg.location(273,50);
19.6562 + adaptor.addChild(root_1, stream_element.nextTree());
19.6563 +
19.6564 + }
19.6565 + stream_element.reset();
19.6566 +
19.6567 + adaptor.addChild(root_0, root_1);
19.6568 + }
19.6569 +
19.6570 + }
19.6571 +
19.6572 + retval.tree = root_0;}
19.6573 + }
19.6574 +
19.6575 + retval.stop = input.LT(-1);
19.6576 +
19.6577 + if ( state.backtracking==0 ) {
19.6578 +
19.6579 + retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
19.6580 + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
19.6581 + }
19.6582 + }
19.6583 + catch (RecognitionException re) {
19.6584 + reportError(re);
19.6585 + recover(input,re);
19.6586 + retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re);
19.6587 +
19.6588 + }
19.6589 + finally {
19.6590 + }
19.6591 + dbg.location(274, 2);
19.6592 +
19.6593 + }
19.6594 + finally {
19.6595 + dbg.exitRule(getGrammarFileName(), "treeSpec");
19.6596 + decRuleLevel();
19.6597 + if ( getRuleLevel()==0 ) {dbg.terminate();}
19.6598 + }
19.6599 +
19.6600 + return retval;
19.6601 + }
19.6602 + // $ANTLR end "treeSpec"
19.6603 +
19.6604 + public static class ebnf_return extends ParserRuleReturnScope {
19.6605 + CommonTree tree;
19.6606 + public Object getTree() { return tree; }
19.6607 + };
19.6608 +
19.6609 + // $ANTLR start "ebnf"
19.6610 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:276:1: ebnf : block (op= '?' -> ^( OPTIONAL[op] block ) | op= '*' -> ^( CLOSURE[op] block ) | op= '+' -> ^( POSITIVE_CLOSURE[op] block ) | '=>' -> {gtype==COMBINED_GRAMMAR &&\n\t\t\t\t\t Character.isUpperCase($rule::name.charAt(0))}? ^( SYNPRED[\"=>\"] block ) -> SYN_SEMPRED | -> block ) ;
19.6611 + public final ANTLRv3Parser.ebnf_return ebnf() throws RecognitionException {
19.6612 + ANTLRv3Parser.ebnf_return retval = new ANTLRv3Parser.ebnf_return();
19.6613 + retval.start = input.LT(1);
19.6614 +
19.6615 + CommonTree root_0 = null;
19.6616 +
19.6617 + Token op=null;
19.6618 + Token string_literal119=null;
19.6619 + ANTLRv3Parser.block_return block118 = null;
19.6620 +
19.6621 +
19.6622 + CommonTree op_tree=null;
19.6623 + CommonTree string_literal119_tree=null;
19.6624 + RewriteRuleTokenStream stream_91=new RewriteRuleTokenStream(adaptor,"token 91");
19.6625 + RewriteRuleTokenStream stream_90=new RewriteRuleTokenStream(adaptor,"token 90");
19.6626 + RewriteRuleTokenStream stream_74=new RewriteRuleTokenStream(adaptor,"token 74");
19.6627 + RewriteRuleTokenStream stream_88=new RewriteRuleTokenStream(adaptor,"token 88");
19.6628 + RewriteRuleSubtreeStream stream_block=new RewriteRuleSubtreeStream(adaptor,"rule block");
19.6629 +
19.6630 + Token firstToken = input.LT(1);
19.6631 +
19.6632 + try { dbg.enterRule(getGrammarFileName(), "ebnf");
19.6633 + if ( getRuleLevel()==0 ) {dbg.commence();}
19.6634 + incRuleLevel();
19.6635 + dbg.location(276, 1);
19.6636 +
19.6637 + try {
19.6638 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:285:2: ( block (op= '?' -> ^( OPTIONAL[op] block ) | op= '*' -> ^( CLOSURE[op] block ) | op= '+' -> ^( POSITIVE_CLOSURE[op] block ) | '=>' -> {gtype==COMBINED_GRAMMAR &&\n\t\t\t\t\t Character.isUpperCase($rule::name.charAt(0))}? ^( SYNPRED[\"=>\"] block ) -> SYN_SEMPRED | -> block ) )
19.6639 + dbg.enterAlt(1);
19.6640 +
19.6641 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:285:4: block (op= '?' -> ^( OPTIONAL[op] block ) | op= '*' -> ^( CLOSURE[op] block ) | op= '+' -> ^( POSITIVE_CLOSURE[op] block ) | '=>' -> {gtype==COMBINED_GRAMMAR &&\n\t\t\t\t\t Character.isUpperCase($rule::name.charAt(0))}? ^( SYNPRED[\"=>\"] block ) -> SYN_SEMPRED | -> block )
19.6642 + {
19.6643 + dbg.location(285,4);
19.6644 + pushFollow(FOLLOW_block_in_ebnf2073);
19.6645 + block118=block();
19.6646 +
19.6647 + state._fsp--;
19.6648 + if (state.failed) return retval;
19.6649 + if ( state.backtracking==0 ) stream_block.add(block118.getTree());
19.6650 + dbg.location(286,3);
19.6651 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:286:3: (op= '?' -> ^( OPTIONAL[op] block ) | op= '*' -> ^( CLOSURE[op] block ) | op= '+' -> ^( POSITIVE_CLOSURE[op] block ) | '=>' -> {gtype==COMBINED_GRAMMAR &&\n\t\t\t\t\t Character.isUpperCase($rule::name.charAt(0))}? ^( SYNPRED[\"=>\"] block ) -> SYN_SEMPRED | -> block )
19.6652 + int alt57=5;
19.6653 + try { dbg.enterSubRule(57);
19.6654 + try { dbg.enterDecision(57, decisionCanBacktrack[57]);
19.6655 +
19.6656 + switch ( input.LA(1) ) {
19.6657 + case 90:
19.6658 + {
19.6659 + alt57=1;
19.6660 + }
19.6661 + break;
19.6662 + case 74:
19.6663 + {
19.6664 + alt57=2;
19.6665 + }
19.6666 + break;
19.6667 + case 91:
19.6668 + {
19.6669 + alt57=3;
19.6670 + }
19.6671 + break;
19.6672 + case 88:
19.6673 + {
19.6674 + alt57=4;
19.6675 + }
19.6676 + break;
19.6677 + case SEMPRED:
19.6678 + case TREE_BEGIN:
19.6679 + case REWRITE:
19.6680 + case TOKEN_REF:
19.6681 + case STRING_LITERAL:
19.6682 + case CHAR_LITERAL:
19.6683 + case ACTION:
19.6684 + case RULE_REF:
19.6685 + case 69:
19.6686 + case 82:
19.6687 + case 83:
19.6688 + case 84:
19.6689 + case 89:
19.6690 + case 92:
19.6691 + {
19.6692 + alt57=5;
19.6693 + }
19.6694 + break;
19.6695 + default:
19.6696 + if (state.backtracking>0) {state.failed=true; return retval;}
19.6697 + NoViableAltException nvae =
19.6698 + new NoViableAltException("", 57, 0, input);
19.6699 +
19.6700 + dbg.recognitionException(nvae);
19.6701 + throw nvae;
19.6702 + }
19.6703 +
19.6704 + } finally {dbg.exitDecision(57);}
19.6705 +
19.6706 + switch (alt57) {
19.6707 + case 1 :
19.6708 + dbg.enterAlt(1);
19.6709 +
19.6710 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:286:5: op= '?'
19.6711 + {
19.6712 + dbg.location(286,7);
19.6713 + op=(Token)match(input,90,FOLLOW_90_in_ebnf2081); if (state.failed) return retval;
19.6714 + if ( state.backtracking==0 ) stream_90.add(op);
19.6715 +
19.6716 +
19.6717 +
19.6718 + // AST REWRITE
19.6719 + // elements: block
19.6720 + // token labels:
19.6721 + // rule labels: retval
19.6722 + // token list labels:
19.6723 + // rule list labels:
19.6724 + // wildcard labels:
19.6725 + if ( state.backtracking==0 ) {
19.6726 + retval.tree = root_0;
19.6727 + RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);
19.6728 +
19.6729 + root_0 = (CommonTree)adaptor.nil();
19.6730 + // 286:12: -> ^( OPTIONAL[op] block )
19.6731 + {
19.6732 + dbg.location(286,15);
19.6733 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:286:15: ^( OPTIONAL[op] block )
19.6734 + {
19.6735 + CommonTree root_1 = (CommonTree)adaptor.nil();
19.6736 + dbg.location(286,17);
19.6737 + root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(OPTIONAL, op), root_1);
19.6738 +
19.6739 + dbg.location(286,30);
19.6740 + adaptor.addChild(root_1, stream_block.nextTree());
19.6741 +
19.6742 + adaptor.addChild(root_0, root_1);
19.6743 + }
19.6744 +
19.6745 + }
19.6746 +
19.6747 + retval.tree = root_0;}
19.6748 + }
19.6749 + break;
19.6750 + case 2 :
19.6751 + dbg.enterAlt(2);
19.6752 +
19.6753 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:287:5: op= '*'
19.6754 + {
19.6755 + dbg.location(287,7);
19.6756 + op=(Token)match(input,74,FOLLOW_74_in_ebnf2098); if (state.failed) return retval;
19.6757 + if ( state.backtracking==0 ) stream_74.add(op);
19.6758 +
19.6759 +
19.6760 +
19.6761 + // AST REWRITE
19.6762 + // elements: block
19.6763 + // token labels:
19.6764 + // rule labels: retval
19.6765 + // token list labels:
19.6766 + // rule list labels:
19.6767 + // wildcard labels:
19.6768 + if ( state.backtracking==0 ) {
19.6769 + retval.tree = root_0;
19.6770 + RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);
19.6771 +
19.6772 + root_0 = (CommonTree)adaptor.nil();
19.6773 + // 287:12: -> ^( CLOSURE[op] block )
19.6774 + {
19.6775 + dbg.location(287,15);
19.6776 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:287:15: ^( CLOSURE[op] block )
19.6777 + {
19.6778 + CommonTree root_1 = (CommonTree)adaptor.nil();
19.6779 + dbg.location(287,17);
19.6780 + root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(CLOSURE, op), root_1);
19.6781 +
19.6782 + dbg.location(287,29);
19.6783 + adaptor.addChild(root_1, stream_block.nextTree());
19.6784 +
19.6785 + adaptor.addChild(root_0, root_1);
19.6786 + }
19.6787 +
19.6788 + }
19.6789 +
19.6790 + retval.tree = root_0;}
19.6791 + }
19.6792 + break;
19.6793 + case 3 :
19.6794 + dbg.enterAlt(3);
19.6795 +
19.6796 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:288:5: op= '+'
19.6797 + {
19.6798 + dbg.location(288,7);
19.6799 + op=(Token)match(input,91,FOLLOW_91_in_ebnf2115); if (state.failed) return retval;
19.6800 + if ( state.backtracking==0 ) stream_91.add(op);
19.6801 +
19.6802 +
19.6803 +
19.6804 + // AST REWRITE
19.6805 + // elements: block
19.6806 + // token labels:
19.6807 + // rule labels: retval
19.6808 + // token list labels:
19.6809 + // rule list labels:
19.6810 + // wildcard labels:
19.6811 + if ( state.backtracking==0 ) {
19.6812 + retval.tree = root_0;
19.6813 + RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);
19.6814 +
19.6815 + root_0 = (CommonTree)adaptor.nil();
19.6816 + // 288:12: -> ^( POSITIVE_CLOSURE[op] block )
19.6817 + {
19.6818 + dbg.location(288,15);
19.6819 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:288:15: ^( POSITIVE_CLOSURE[op] block )
19.6820 + {
19.6821 + CommonTree root_1 = (CommonTree)adaptor.nil();
19.6822 + dbg.location(288,17);
19.6823 + root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(POSITIVE_CLOSURE, op), root_1);
19.6824 +
19.6825 + dbg.location(288,38);
19.6826 + adaptor.addChild(root_1, stream_block.nextTree());
19.6827 +
19.6828 + adaptor.addChild(root_0, root_1);
19.6829 + }
19.6830 +
19.6831 + }
19.6832 +
19.6833 + retval.tree = root_0;}
19.6834 + }
19.6835 + break;
19.6836 + case 4 :
19.6837 + dbg.enterAlt(4);
19.6838 +
19.6839 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:289:7: '=>'
19.6840 + {
19.6841 + dbg.location(289,7);
19.6842 + string_literal119=(Token)match(input,88,FOLLOW_88_in_ebnf2132); if (state.failed) return retval;
19.6843 + if ( state.backtracking==0 ) stream_88.add(string_literal119);
19.6844 +
19.6845 +
19.6846 +
19.6847 + // AST REWRITE
19.6848 + // elements: block
19.6849 + // token labels:
19.6850 + // rule labels: retval
19.6851 + // token list labels:
19.6852 + // rule list labels:
19.6853 + // wildcard labels:
19.6854 + if ( state.backtracking==0 ) {
19.6855 + retval.tree = root_0;
19.6856 + RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);
19.6857 +
19.6858 + root_0 = (CommonTree)adaptor.nil();
19.6859 + // 290:6: -> {gtype==COMBINED_GRAMMAR &&\n\t\t\t\t\t Character.isUpperCase($rule::name.charAt(0))}? ^( SYNPRED[\"=>\"] block )
19.6860 + if (gtype==COMBINED_GRAMMAR &&
19.6861 + Character.isUpperCase(((rule_scope)rule_stack.peek()).name.charAt(0))) {
19.6862 + dbg.location(293,9);
19.6863 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:293:9: ^( SYNPRED[\"=>\"] block )
19.6864 + {
19.6865 + CommonTree root_1 = (CommonTree)adaptor.nil();
19.6866 + dbg.location(293,11);
19.6867 + root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(SYNPRED, "=>"), root_1);
19.6868 +
19.6869 + dbg.location(293,25);
19.6870 + adaptor.addChild(root_1, stream_block.nextTree());
19.6871 +
19.6872 + adaptor.addChild(root_0, root_1);
19.6873 + }
19.6874 +
19.6875 + }
19.6876 + else // 295:6: -> SYN_SEMPRED
19.6877 + {
19.6878 + dbg.location(295,9);
19.6879 + adaptor.addChild(root_0, (CommonTree)adaptor.create(SYN_SEMPRED, "SYN_SEMPRED"));
19.6880 +
19.6881 + }
19.6882 +
19.6883 + retval.tree = root_0;}
19.6884 + }
19.6885 + break;
19.6886 + case 5 :
19.6887 + dbg.enterAlt(5);
19.6888 +
19.6889 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:296:13:
19.6890 + {
19.6891 +
19.6892 + // AST REWRITE
19.6893 + // elements: block
19.6894 + // token labels:
19.6895 + // rule labels: retval
19.6896 + // token list labels:
19.6897 + // rule list labels:
19.6898 + // wildcard labels:
19.6899 + if ( state.backtracking==0 ) {
19.6900 + retval.tree = root_0;
19.6901 + RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);
19.6902 +
19.6903 + root_0 = (CommonTree)adaptor.nil();
19.6904 + // 296:13: -> block
19.6905 + {
19.6906 + dbg.location(296,16);
19.6907 + adaptor.addChild(root_0, stream_block.nextTree());
19.6908 +
19.6909 + }
19.6910 +
19.6911 + retval.tree = root_0;}
19.6912 + }
19.6913 + break;
19.6914 +
19.6915 + }
19.6916 + } finally {dbg.exitSubRule(57);}
19.6917 +
19.6918 +
19.6919 + }
19.6920 +
19.6921 + retval.stop = input.LT(-1);
19.6922 +
19.6923 + if ( state.backtracking==0 ) {
19.6924 +
19.6925 + retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
19.6926 + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
19.6927 + }
19.6928 + if ( state.backtracking==0 ) {
19.6929 +
19.6930 + ((CommonTree)retval.tree).getToken().setLine(firstToken.getLine());
19.6931 + ((CommonTree)retval.tree).getToken().setCharPositionInLine(firstToken.getCharPositionInLine());
19.6932 +
19.6933 + }
19.6934 + }
19.6935 + catch (RecognitionException re) {
19.6936 + reportError(re);
19.6937 + recover(input,re);
19.6938 + retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re);
19.6939 +
19.6940 + }
19.6941 + finally {
19.6942 + }
19.6943 + dbg.location(298, 2);
19.6944 +
19.6945 + }
19.6946 + finally {
19.6947 + dbg.exitRule(getGrammarFileName(), "ebnf");
19.6948 + decRuleLevel();
19.6949 + if ( getRuleLevel()==0 ) {dbg.terminate();}
19.6950 + }
19.6951 +
19.6952 + return retval;
19.6953 + }
19.6954 + // $ANTLR end "ebnf"
19.6955 +
19.6956 + public static class range_return extends ParserRuleReturnScope {
19.6957 + CommonTree tree;
19.6958 + public Object getTree() { return tree; }
19.6959 + };
19.6960 +
19.6961 + // $ANTLR start "range"
19.6962 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:300:1: range : c1= CHAR_LITERAL RANGE c2= CHAR_LITERAL -> ^( CHAR_RANGE[$c1,\"..\"] $c1 $c2) ;
19.6963 + public final ANTLRv3Parser.range_return range() throws RecognitionException {
19.6964 + ANTLRv3Parser.range_return retval = new ANTLRv3Parser.range_return();
19.6965 + retval.start = input.LT(1);
19.6966 +
19.6967 + CommonTree root_0 = null;
19.6968 +
19.6969 + Token c1=null;
19.6970 + Token c2=null;
19.6971 + Token RANGE120=null;
19.6972 +
19.6973 + CommonTree c1_tree=null;
19.6974 + CommonTree c2_tree=null;
19.6975 + CommonTree RANGE120_tree=null;
19.6976 + RewriteRuleTokenStream stream_RANGE=new RewriteRuleTokenStream(adaptor,"token RANGE");
19.6977 + RewriteRuleTokenStream stream_CHAR_LITERAL=new RewriteRuleTokenStream(adaptor,"token CHAR_LITERAL");
19.6978 +
19.6979 + try { dbg.enterRule(getGrammarFileName(), "range");
19.6980 + if ( getRuleLevel()==0 ) {dbg.commence();}
19.6981 + incRuleLevel();
19.6982 + dbg.location(300, 1);
19.6983 +
19.6984 + try {
19.6985 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:301:2: (c1= CHAR_LITERAL RANGE c2= CHAR_LITERAL -> ^( CHAR_RANGE[$c1,\"..\"] $c1 $c2) )
19.6986 + dbg.enterAlt(1);
19.6987 +
19.6988 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:301:4: c1= CHAR_LITERAL RANGE c2= CHAR_LITERAL
19.6989 + {
19.6990 + dbg.location(301,6);
19.6991 + c1=(Token)match(input,CHAR_LITERAL,FOLLOW_CHAR_LITERAL_in_range2215); if (state.failed) return retval;
19.6992 + if ( state.backtracking==0 ) stream_CHAR_LITERAL.add(c1);
19.6993 +
19.6994 + dbg.location(301,20);
19.6995 + RANGE120=(Token)match(input,RANGE,FOLLOW_RANGE_in_range2217); if (state.failed) return retval;
19.6996 + if ( state.backtracking==0 ) stream_RANGE.add(RANGE120);
19.6997 +
19.6998 + dbg.location(301,28);
19.6999 + c2=(Token)match(input,CHAR_LITERAL,FOLLOW_CHAR_LITERAL_in_range2221); if (state.failed) return retval;
19.7000 + if ( state.backtracking==0 ) stream_CHAR_LITERAL.add(c2);
19.7001 +
19.7002 +
19.7003 +
19.7004 + // AST REWRITE
19.7005 + // elements: c1, c2
19.7006 + // token labels: c1, c2
19.7007 + // rule labels: retval
19.7008 + // token list labels:
19.7009 + // rule list labels:
19.7010 + // wildcard labels:
19.7011 + if ( state.backtracking==0 ) {
19.7012 + retval.tree = root_0;
19.7013 + RewriteRuleTokenStream stream_c1=new RewriteRuleTokenStream(adaptor,"token c1",c1);
19.7014 + RewriteRuleTokenStream stream_c2=new RewriteRuleTokenStream(adaptor,"token c2",c2);
19.7015 + RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);
19.7016 +
19.7017 + root_0 = (CommonTree)adaptor.nil();
19.7018 + // 301:42: -> ^( CHAR_RANGE[$c1,\"..\"] $c1 $c2)
19.7019 + {
19.7020 + dbg.location(301,45);
19.7021 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:301:45: ^( CHAR_RANGE[$c1,\"..\"] $c1 $c2)
19.7022 + {
19.7023 + CommonTree root_1 = (CommonTree)adaptor.nil();
19.7024 + dbg.location(301,47);
19.7025 + root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(CHAR_RANGE, c1, ".."), root_1);
19.7026 +
19.7027 + dbg.location(301,68);
19.7028 + adaptor.addChild(root_1, stream_c1.nextNode());
19.7029 + dbg.location(301,72);
19.7030 + adaptor.addChild(root_1, stream_c2.nextNode());
19.7031 +
19.7032 + adaptor.addChild(root_0, root_1);
19.7033 + }
19.7034 +
19.7035 + }
19.7036 +
19.7037 + retval.tree = root_0;}
19.7038 + }
19.7039 +
19.7040 + retval.stop = input.LT(-1);
19.7041 +
19.7042 + if ( state.backtracking==0 ) {
19.7043 +
19.7044 + retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
19.7045 + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
19.7046 + }
19.7047 + }
19.7048 + catch (RecognitionException re) {
19.7049 + reportError(re);
19.7050 + recover(input,re);
19.7051 + retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re);
19.7052 +
19.7053 + }
19.7054 + finally {
19.7055 + }
19.7056 + dbg.location(302, 2);
19.7057 +
19.7058 + }
19.7059 + finally {
19.7060 + dbg.exitRule(getGrammarFileName(), "range");
19.7061 + decRuleLevel();
19.7062 + if ( getRuleLevel()==0 ) {dbg.terminate();}
19.7063 + }
19.7064 +
19.7065 + return retval;
19.7066 + }
19.7067 + // $ANTLR end "range"
19.7068 +
19.7069 + public static class terminal_return extends ParserRuleReturnScope {
19.7070 + CommonTree tree;
19.7071 + public Object getTree() { return tree; }
19.7072 + };
19.7073 +
19.7074 + // $ANTLR start "terminal"
19.7075 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:304:1: terminal : ( CHAR_LITERAL -> CHAR_LITERAL | TOKEN_REF ( ARG_ACTION -> ^( TOKEN_REF ARG_ACTION ) | -> TOKEN_REF ) | STRING_LITERAL -> STRING_LITERAL | '.' -> '.' ) ( '^' -> ^( '^' $terminal) | '!' -> ^( '!' $terminal) )? ;
19.7076 + public final ANTLRv3Parser.terminal_return terminal() throws RecognitionException {
19.7077 + ANTLRv3Parser.terminal_return retval = new ANTLRv3Parser.terminal_return();
19.7078 + retval.start = input.LT(1);
19.7079 +
19.7080 + CommonTree root_0 = null;
19.7081 +
19.7082 + Token CHAR_LITERAL121=null;
19.7083 + Token TOKEN_REF122=null;
19.7084 + Token ARG_ACTION123=null;
19.7085 + Token STRING_LITERAL124=null;
19.7086 + Token char_literal125=null;
19.7087 + Token char_literal126=null;
19.7088 + Token char_literal127=null;
19.7089 +
19.7090 + CommonTree CHAR_LITERAL121_tree=null;
19.7091 + CommonTree TOKEN_REF122_tree=null;
19.7092 + CommonTree ARG_ACTION123_tree=null;
19.7093 + CommonTree STRING_LITERAL124_tree=null;
19.7094 + CommonTree char_literal125_tree=null;
19.7095 + CommonTree char_literal126_tree=null;
19.7096 + CommonTree char_literal127_tree=null;
19.7097 + RewriteRuleTokenStream stream_STRING_LITERAL=new RewriteRuleTokenStream(adaptor,"token STRING_LITERAL");
19.7098 + RewriteRuleTokenStream stream_BANG=new RewriteRuleTokenStream(adaptor,"token BANG");
19.7099 + RewriteRuleTokenStream stream_92=new RewriteRuleTokenStream(adaptor,"token 92");
19.7100 + RewriteRuleTokenStream stream_CHAR_LITERAL=new RewriteRuleTokenStream(adaptor,"token CHAR_LITERAL");
19.7101 + RewriteRuleTokenStream stream_ROOT=new RewriteRuleTokenStream(adaptor,"token ROOT");
19.7102 + RewriteRuleTokenStream stream_TOKEN_REF=new RewriteRuleTokenStream(adaptor,"token TOKEN_REF");
19.7103 + RewriteRuleTokenStream stream_ARG_ACTION=new RewriteRuleTokenStream(adaptor,"token ARG_ACTION");
19.7104 +
19.7105 + try { dbg.enterRule(getGrammarFileName(), "terminal");
19.7106 + if ( getRuleLevel()==0 ) {dbg.commence();}
19.7107 + incRuleLevel();
19.7108 + dbg.location(304, 1);
19.7109 +
19.7110 + try {
19.7111 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:305:5: ( ( CHAR_LITERAL -> CHAR_LITERAL | TOKEN_REF ( ARG_ACTION -> ^( TOKEN_REF ARG_ACTION ) | -> TOKEN_REF ) | STRING_LITERAL -> STRING_LITERAL | '.' -> '.' ) ( '^' -> ^( '^' $terminal) | '!' -> ^( '!' $terminal) )? )
19.7112 + dbg.enterAlt(1);
19.7113 +
19.7114 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:305:9: ( CHAR_LITERAL -> CHAR_LITERAL | TOKEN_REF ( ARG_ACTION -> ^( TOKEN_REF ARG_ACTION ) | -> TOKEN_REF ) | STRING_LITERAL -> STRING_LITERAL | '.' -> '.' ) ( '^' -> ^( '^' $terminal) | '!' -> ^( '!' $terminal) )?
19.7115 + {
19.7116 + dbg.location(305,9);
19.7117 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:305:9: ( CHAR_LITERAL -> CHAR_LITERAL | TOKEN_REF ( ARG_ACTION -> ^( TOKEN_REF ARG_ACTION ) | -> TOKEN_REF ) | STRING_LITERAL -> STRING_LITERAL | '.' -> '.' )
19.7118 + int alt59=4;
19.7119 + try { dbg.enterSubRule(59);
19.7120 + try { dbg.enterDecision(59, decisionCanBacktrack[59]);
19.7121 +
19.7122 + switch ( input.LA(1) ) {
19.7123 + case CHAR_LITERAL:
19.7124 + {
19.7125 + alt59=1;
19.7126 + }
19.7127 + break;
19.7128 + case TOKEN_REF:
19.7129 + {
19.7130 + alt59=2;
19.7131 + }
19.7132 + break;
19.7133 + case STRING_LITERAL:
19.7134 + {
19.7135 + alt59=3;
19.7136 + }
19.7137 + break;
19.7138 + case 92:
19.7139 + {
19.7140 + alt59=4;
19.7141 + }
19.7142 + break;
19.7143 + default:
19.7144 + if (state.backtracking>0) {state.failed=true; return retval;}
19.7145 + NoViableAltException nvae =
19.7146 + new NoViableAltException("", 59, 0, input);
19.7147 +
19.7148 + dbg.recognitionException(nvae);
19.7149 + throw nvae;
19.7150 + }
19.7151 +
19.7152 + } finally {dbg.exitDecision(59);}
19.7153 +
19.7154 + switch (alt59) {
19.7155 + case 1 :
19.7156 + dbg.enterAlt(1);
19.7157 +
19.7158 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:305:11: CHAR_LITERAL
19.7159 + {
19.7160 + dbg.location(305,11);
19.7161 + CHAR_LITERAL121=(Token)match(input,CHAR_LITERAL,FOLLOW_CHAR_LITERAL_in_terminal2252); if (state.failed) return retval;
19.7162 + if ( state.backtracking==0 ) stream_CHAR_LITERAL.add(CHAR_LITERAL121);
19.7163 +
19.7164 +
19.7165 +
19.7166 + // AST REWRITE
19.7167 + // elements: CHAR_LITERAL
19.7168 + // token labels:
19.7169 + // rule labels: retval
19.7170 + // token list labels:
19.7171 + // rule list labels:
19.7172 + // wildcard labels:
19.7173 + if ( state.backtracking==0 ) {
19.7174 + retval.tree = root_0;
19.7175 + RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);
19.7176 +
19.7177 + root_0 = (CommonTree)adaptor.nil();
19.7178 + // 305:27: -> CHAR_LITERAL
19.7179 + {
19.7180 + dbg.location(305,30);
19.7181 + adaptor.addChild(root_0, stream_CHAR_LITERAL.nextNode());
19.7182 +
19.7183 + }
19.7184 +
19.7185 + retval.tree = root_0;}
19.7186 + }
19.7187 + break;
19.7188 + case 2 :
19.7189 + dbg.enterAlt(2);
19.7190 +
19.7191 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:307:7: TOKEN_REF ( ARG_ACTION -> ^( TOKEN_REF ARG_ACTION ) | -> TOKEN_REF )
19.7192 + {
19.7193 + dbg.location(307,7);
19.7194 + TOKEN_REF122=(Token)match(input,TOKEN_REF,FOLLOW_TOKEN_REF_in_terminal2274); if (state.failed) return retval;
19.7195 + if ( state.backtracking==0 ) stream_TOKEN_REF.add(TOKEN_REF122);
19.7196 +
19.7197 + dbg.location(308,4);
19.7198 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:308:4: ( ARG_ACTION -> ^( TOKEN_REF ARG_ACTION ) | -> TOKEN_REF )
19.7199 + int alt58=2;
19.7200 + try { dbg.enterSubRule(58);
19.7201 + try { dbg.enterDecision(58, decisionCanBacktrack[58]);
19.7202 +
19.7203 + int LA58_0 = input.LA(1);
19.7204 +
19.7205 + if ( (LA58_0==ARG_ACTION) ) {
19.7206 + alt58=1;
19.7207 + }
19.7208 + else if ( (LA58_0==SEMPRED||(LA58_0>=TREE_BEGIN && LA58_0<=REWRITE)||(LA58_0>=TOKEN_REF && LA58_0<=ACTION)||LA58_0==RULE_REF||LA58_0==69||LA58_0==74||(LA58_0>=82 && LA58_0<=84)||(LA58_0>=89 && LA58_0<=92)) ) {
19.7209 + alt58=2;
19.7210 + }
19.7211 + else {
19.7212 + if (state.backtracking>0) {state.failed=true; return retval;}
19.7213 + NoViableAltException nvae =
19.7214 + new NoViableAltException("", 58, 0, input);
19.7215 +
19.7216 + dbg.recognitionException(nvae);
19.7217 + throw nvae;
19.7218 + }
19.7219 + } finally {dbg.exitDecision(58);}
19.7220 +
19.7221 + switch (alt58) {
19.7222 + case 1 :
19.7223 + dbg.enterAlt(1);
19.7224 +
19.7225 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:308:6: ARG_ACTION
19.7226 + {
19.7227 + dbg.location(308,6);
19.7228 + ARG_ACTION123=(Token)match(input,ARG_ACTION,FOLLOW_ARG_ACTION_in_terminal2281); if (state.failed) return retval;
19.7229 + if ( state.backtracking==0 ) stream_ARG_ACTION.add(ARG_ACTION123);
19.7230 +
19.7231 +
19.7232 +
19.7233 + // AST REWRITE
19.7234 + // elements: TOKEN_REF, ARG_ACTION
19.7235 + // token labels:
19.7236 + // rule labels: retval
19.7237 + // token list labels:
19.7238 + // rule list labels:
19.7239 + // wildcard labels:
19.7240 + if ( state.backtracking==0 ) {
19.7241 + retval.tree = root_0;
19.7242 + RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);
19.7243 +
19.7244 + root_0 = (CommonTree)adaptor.nil();
19.7245 + // 308:20: -> ^( TOKEN_REF ARG_ACTION )
19.7246 + {
19.7247 + dbg.location(308,23);
19.7248 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:308:23: ^( TOKEN_REF ARG_ACTION )
19.7249 + {
19.7250 + CommonTree root_1 = (CommonTree)adaptor.nil();
19.7251 + dbg.location(308,25);
19.7252 + root_1 = (CommonTree)adaptor.becomeRoot(stream_TOKEN_REF.nextNode(), root_1);
19.7253 +
19.7254 + dbg.location(308,35);
19.7255 + adaptor.addChild(root_1, stream_ARG_ACTION.nextNode());
19.7256 +
19.7257 + adaptor.addChild(root_0, root_1);
19.7258 + }
19.7259 +
19.7260 + }
19.7261 +
19.7262 + retval.tree = root_0;}
19.7263 + }
19.7264 + break;
19.7265 + case 2 :
19.7266 + dbg.enterAlt(2);
19.7267 +
19.7268 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:309:12:
19.7269 + {
19.7270 +
19.7271 + // AST REWRITE
19.7272 + // elements: TOKEN_REF
19.7273 + // token labels:
19.7274 + // rule labels: retval
19.7275 + // token list labels:
19.7276 + // rule list labels:
19.7277 + // wildcard labels:
19.7278 + if ( state.backtracking==0 ) {
19.7279 + retval.tree = root_0;
19.7280 + RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);
19.7281 +
19.7282 + root_0 = (CommonTree)adaptor.nil();
19.7283 + // 309:12: -> TOKEN_REF
19.7284 + {
19.7285 + dbg.location(309,15);
19.7286 + adaptor.addChild(root_0, stream_TOKEN_REF.nextNode());
19.7287 +
19.7288 + }
19.7289 +
19.7290 + retval.tree = root_0;}
19.7291 + }
19.7292 + break;
19.7293 +
19.7294 + }
19.7295 + } finally {dbg.exitSubRule(58);}
19.7296 +
19.7297 +
19.7298 + }
19.7299 + break;
19.7300 + case 3 :
19.7301 + dbg.enterAlt(3);
19.7302 +
19.7303 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:311:7: STRING_LITERAL
19.7304 + {
19.7305 + dbg.location(311,7);
19.7306 + STRING_LITERAL124=(Token)match(input,STRING_LITERAL,FOLLOW_STRING_LITERAL_in_terminal2320); if (state.failed) return retval;
19.7307 + if ( state.backtracking==0 ) stream_STRING_LITERAL.add(STRING_LITERAL124);
19.7308 +
19.7309 +
19.7310 +
19.7311 + // AST REWRITE
19.7312 + // elements: STRING_LITERAL
19.7313 + // token labels:
19.7314 + // rule labels: retval
19.7315 + // token list labels:
19.7316 + // rule list labels:
19.7317 + // wildcard labels:
19.7318 + if ( state.backtracking==0 ) {
19.7319 + retval.tree = root_0;
19.7320 + RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);
19.7321 +
19.7322 + root_0 = (CommonTree)adaptor.nil();
19.7323 + // 311:25: -> STRING_LITERAL
19.7324 + {
19.7325 + dbg.location(311,28);
19.7326 + adaptor.addChild(root_0, stream_STRING_LITERAL.nextNode());
19.7327 +
19.7328 + }
19.7329 +
19.7330 + retval.tree = root_0;}
19.7331 + }
19.7332 + break;
19.7333 + case 4 :
19.7334 + dbg.enterAlt(4);
19.7335 +
19.7336 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:312:7: '.'
19.7337 + {
19.7338 + dbg.location(312,7);
19.7339 + char_literal125=(Token)match(input,92,FOLLOW_92_in_terminal2335); if (state.failed) return retval;
19.7340 + if ( state.backtracking==0 ) stream_92.add(char_literal125);
19.7341 +
19.7342 +
19.7343 +
19.7344 + // AST REWRITE
19.7345 + // elements: 92
19.7346 + // token labels:
19.7347 + // rule labels: retval
19.7348 + // token list labels:
19.7349 + // rule list labels:
19.7350 + // wildcard labels:
19.7351 + if ( state.backtracking==0 ) {
19.7352 + retval.tree = root_0;
19.7353 + RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);
19.7354 +
19.7355 + root_0 = (CommonTree)adaptor.nil();
19.7356 + // 312:17: -> '.'
19.7357 + {
19.7358 + dbg.location(312,20);
19.7359 + adaptor.addChild(root_0, stream_92.nextNode());
19.7360 +
19.7361 + }
19.7362 +
19.7363 + retval.tree = root_0;}
19.7364 + }
19.7365 + break;
19.7366 +
19.7367 + }
19.7368 + } finally {dbg.exitSubRule(59);}
19.7369 +
19.7370 + dbg.location(314,3);
19.7371 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:314:3: ( '^' -> ^( '^' $terminal) | '!' -> ^( '!' $terminal) )?
19.7372 + int alt60=3;
19.7373 + try { dbg.enterSubRule(60);
19.7374 + try { dbg.enterDecision(60, decisionCanBacktrack[60]);
19.7375 +
19.7376 + int LA60_0 = input.LA(1);
19.7377 +
19.7378 + if ( (LA60_0==ROOT) ) {
19.7379 + alt60=1;
19.7380 + }
19.7381 + else if ( (LA60_0==BANG) ) {
19.7382 + alt60=2;
19.7383 + }
19.7384 + } finally {dbg.exitDecision(60);}
19.7385 +
19.7386 + switch (alt60) {
19.7387 + case 1 :
19.7388 + dbg.enterAlt(1);
19.7389 +
19.7390 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:314:5: '^'
19.7391 + {
19.7392 + dbg.location(314,5);
19.7393 + char_literal126=(Token)match(input,ROOT,FOLLOW_ROOT_in_terminal2356); if (state.failed) return retval;
19.7394 + if ( state.backtracking==0 ) stream_ROOT.add(char_literal126);
19.7395 +
19.7396 +
19.7397 +
19.7398 + // AST REWRITE
19.7399 + // elements: ROOT, terminal
19.7400 + // token labels:
19.7401 + // rule labels: retval
19.7402 + // token list labels:
19.7403 + // rule list labels:
19.7404 + // wildcard labels:
19.7405 + if ( state.backtracking==0 ) {
19.7406 + retval.tree = root_0;
19.7407 + RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);
19.7408 +
19.7409 + root_0 = (CommonTree)adaptor.nil();
19.7410 + // 314:15: -> ^( '^' $terminal)
19.7411 + {
19.7412 + dbg.location(314,18);
19.7413 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:314:18: ^( '^' $terminal)
19.7414 + {
19.7415 + CommonTree root_1 = (CommonTree)adaptor.nil();
19.7416 + dbg.location(314,20);
19.7417 + root_1 = (CommonTree)adaptor.becomeRoot(stream_ROOT.nextNode(), root_1);
19.7418 +
19.7419 + dbg.location(314,24);
19.7420 + adaptor.addChild(root_1, stream_retval.nextTree());
19.7421 +
19.7422 + adaptor.addChild(root_0, root_1);
19.7423 + }
19.7424 +
19.7425 + }
19.7426 +
19.7427 + retval.tree = root_0;}
19.7428 + }
19.7429 + break;
19.7430 + case 2 :
19.7431 + dbg.enterAlt(2);
19.7432 +
19.7433 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:315:5: '!'
19.7434 + {
19.7435 + dbg.location(315,5);
19.7436 + char_literal127=(Token)match(input,BANG,FOLLOW_BANG_in_terminal2377); if (state.failed) return retval;
19.7437 + if ( state.backtracking==0 ) stream_BANG.add(char_literal127);
19.7438 +
19.7439 +
19.7440 +
19.7441 + // AST REWRITE
19.7442 + // elements: terminal, BANG
19.7443 + // token labels:
19.7444 + // rule labels: retval
19.7445 + // token list labels:
19.7446 + // rule list labels:
19.7447 + // wildcard labels:
19.7448 + if ( state.backtracking==0 ) {
19.7449 + retval.tree = root_0;
19.7450 + RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);
19.7451 +
19.7452 + root_0 = (CommonTree)adaptor.nil();
19.7453 + // 315:15: -> ^( '!' $terminal)
19.7454 + {
19.7455 + dbg.location(315,18);
19.7456 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:315:18: ^( '!' $terminal)
19.7457 + {
19.7458 + CommonTree root_1 = (CommonTree)adaptor.nil();
19.7459 + dbg.location(315,20);
19.7460 + root_1 = (CommonTree)adaptor.becomeRoot(stream_BANG.nextNode(), root_1);
19.7461 +
19.7462 + dbg.location(315,24);
19.7463 + adaptor.addChild(root_1, stream_retval.nextTree());
19.7464 +
19.7465 + adaptor.addChild(root_0, root_1);
19.7466 + }
19.7467 +
19.7468 + }
19.7469 +
19.7470 + retval.tree = root_0;}
19.7471 + }
19.7472 + break;
19.7473 +
19.7474 + }
19.7475 + } finally {dbg.exitSubRule(60);}
19.7476 +
19.7477 +
19.7478 + }
19.7479 +
19.7480 + retval.stop = input.LT(-1);
19.7481 +
19.7482 + if ( state.backtracking==0 ) {
19.7483 +
19.7484 + retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
19.7485 + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
19.7486 + }
19.7487 + }
19.7488 + catch (RecognitionException re) {
19.7489 + reportError(re);
19.7490 + recover(input,re);
19.7491 + retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re);
19.7492 +
19.7493 + }
19.7494 + finally {
19.7495 + }
19.7496 + dbg.location(317, 2);
19.7497 +
19.7498 + }
19.7499 + finally {
19.7500 + dbg.exitRule(getGrammarFileName(), "terminal");
19.7501 + decRuleLevel();
19.7502 + if ( getRuleLevel()==0 ) {dbg.terminate();}
19.7503 + }
19.7504 +
19.7505 + return retval;
19.7506 + }
19.7507 + // $ANTLR end "terminal"
19.7508 +
19.7509 + public static class notTerminal_return extends ParserRuleReturnScope {
19.7510 + CommonTree tree;
19.7511 + public Object getTree() { return tree; }
19.7512 + };
19.7513 +
19.7514 + // $ANTLR start "notTerminal"
19.7515 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:319:1: notTerminal : ( CHAR_LITERAL | TOKEN_REF | STRING_LITERAL );
19.7516 + public final ANTLRv3Parser.notTerminal_return notTerminal() throws RecognitionException {
19.7517 + ANTLRv3Parser.notTerminal_return retval = new ANTLRv3Parser.notTerminal_return();
19.7518 + retval.start = input.LT(1);
19.7519 +
19.7520 + CommonTree root_0 = null;
19.7521 +
19.7522 + Token set128=null;
19.7523 +
19.7524 + CommonTree set128_tree=null;
19.7525 +
19.7526 + try { dbg.enterRule(getGrammarFileName(), "notTerminal");
19.7527 + if ( getRuleLevel()==0 ) {dbg.commence();}
19.7528 + incRuleLevel();
19.7529 + dbg.location(319, 1);
19.7530 +
19.7531 + try {
19.7532 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:320:2: ( CHAR_LITERAL | TOKEN_REF | STRING_LITERAL )
19.7533 + dbg.enterAlt(1);
19.7534 +
19.7535 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:
19.7536 + {
19.7537 + root_0 = (CommonTree)adaptor.nil();
19.7538 +
19.7539 + dbg.location(320,2);
19.7540 + set128=(Token)input.LT(1);
19.7541 + if ( (input.LA(1)>=TOKEN_REF && input.LA(1)<=CHAR_LITERAL) ) {
19.7542 + input.consume();
19.7543 + if ( state.backtracking==0 ) adaptor.addChild(root_0, (CommonTree)adaptor.create(set128));
19.7544 + state.errorRecovery=false;state.failed=false;
19.7545 + }
19.7546 + else {
19.7547 + if (state.backtracking>0) {state.failed=true; return retval;}
19.7548 + MismatchedSetException mse = new MismatchedSetException(null,input);
19.7549 + dbg.recognitionException(mse);
19.7550 + throw mse;
19.7551 + }
19.7552 +
19.7553 +
19.7554 + }
19.7555 +
19.7556 + retval.stop = input.LT(-1);
19.7557 +
19.7558 + if ( state.backtracking==0 ) {
19.7559 +
19.7560 + retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
19.7561 + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
19.7562 + }
19.7563 + }
19.7564 + catch (RecognitionException re) {
19.7565 + reportError(re);
19.7566 + recover(input,re);
19.7567 + retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re);
19.7568 +
19.7569 + }
19.7570 + finally {
19.7571 + }
19.7572 + dbg.location(323, 2);
19.7573 +
19.7574 + }
19.7575 + finally {
19.7576 + dbg.exitRule(getGrammarFileName(), "notTerminal");
19.7577 + decRuleLevel();
19.7578 + if ( getRuleLevel()==0 ) {dbg.terminate();}
19.7579 + }
19.7580 +
19.7581 + return retval;
19.7582 + }
19.7583 + // $ANTLR end "notTerminal"
19.7584 +
19.7585 + public static class ebnfSuffix_return extends ParserRuleReturnScope {
19.7586 + CommonTree tree;
19.7587 + public Object getTree() { return tree; }
19.7588 + };
19.7589 +
19.7590 + // $ANTLR start "ebnfSuffix"
19.7591 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:325:1: ebnfSuffix : ( '?' -> OPTIONAL[op] | '*' -> CLOSURE[op] | '+' -> POSITIVE_CLOSURE[op] );
19.7592 + public final ANTLRv3Parser.ebnfSuffix_return ebnfSuffix() throws RecognitionException {
19.7593 + ANTLRv3Parser.ebnfSuffix_return retval = new ANTLRv3Parser.ebnfSuffix_return();
19.7594 + retval.start = input.LT(1);
19.7595 +
19.7596 + CommonTree root_0 = null;
19.7597 +
19.7598 + Token char_literal129=null;
19.7599 + Token char_literal130=null;
19.7600 + Token char_literal131=null;
19.7601 +
19.7602 + CommonTree char_literal129_tree=null;
19.7603 + CommonTree char_literal130_tree=null;
19.7604 + CommonTree char_literal131_tree=null;
19.7605 + RewriteRuleTokenStream stream_91=new RewriteRuleTokenStream(adaptor,"token 91");
19.7606 + RewriteRuleTokenStream stream_90=new RewriteRuleTokenStream(adaptor,"token 90");
19.7607 + RewriteRuleTokenStream stream_74=new RewriteRuleTokenStream(adaptor,"token 74");
19.7608 +
19.7609 +
19.7610 + Token op = input.LT(1);
19.7611 +
19.7612 + try { dbg.enterRule(getGrammarFileName(), "ebnfSuffix");
19.7613 + if ( getRuleLevel()==0 ) {dbg.commence();}
19.7614 + incRuleLevel();
19.7615 + dbg.location(325, 1);
19.7616 +
19.7617 + try {
19.7618 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:329:2: ( '?' -> OPTIONAL[op] | '*' -> CLOSURE[op] | '+' -> POSITIVE_CLOSURE[op] )
19.7619 + int alt61=3;
19.7620 + try { dbg.enterDecision(61, decisionCanBacktrack[61]);
19.7621 +
19.7622 + switch ( input.LA(1) ) {
19.7623 + case 90:
19.7624 + {
19.7625 + alt61=1;
19.7626 + }
19.7627 + break;
19.7628 + case 74:
19.7629 + {
19.7630 + alt61=2;
19.7631 + }
19.7632 + break;
19.7633 + case 91:
19.7634 + {
19.7635 + alt61=3;
19.7636 + }
19.7637 + break;
19.7638 + default:
19.7639 + if (state.backtracking>0) {state.failed=true; return retval;}
19.7640 + NoViableAltException nvae =
19.7641 + new NoViableAltException("", 61, 0, input);
19.7642 +
19.7643 + dbg.recognitionException(nvae);
19.7644 + throw nvae;
19.7645 + }
19.7646 +
19.7647 + } finally {dbg.exitDecision(61);}
19.7648 +
19.7649 + switch (alt61) {
19.7650 + case 1 :
19.7651 + dbg.enterAlt(1);
19.7652 +
19.7653 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:329:4: '?'
19.7654 + {
19.7655 + dbg.location(329,4);
19.7656 + char_literal129=(Token)match(input,90,FOLLOW_90_in_ebnfSuffix2437); if (state.failed) return retval;
19.7657 + if ( state.backtracking==0 ) stream_90.add(char_literal129);
19.7658 +
19.7659 +
19.7660 +
19.7661 + // AST REWRITE
19.7662 + // elements:
19.7663 + // token labels:
19.7664 + // rule labels: retval
19.7665 + // token list labels:
19.7666 + // rule list labels:
19.7667 + // wildcard labels:
19.7668 + if ( state.backtracking==0 ) {
19.7669 + retval.tree = root_0;
19.7670 + RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);
19.7671 +
19.7672 + root_0 = (CommonTree)adaptor.nil();
19.7673 + // 329:8: -> OPTIONAL[op]
19.7674 + {
19.7675 + dbg.location(329,11);
19.7676 + adaptor.addChild(root_0, (CommonTree)adaptor.create(OPTIONAL, op));
19.7677 +
19.7678 + }
19.7679 +
19.7680 + retval.tree = root_0;}
19.7681 + }
19.7682 + break;
19.7683 + case 2 :
19.7684 + dbg.enterAlt(2);
19.7685 +
19.7686 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:330:6: '*'
19.7687 + {
19.7688 + dbg.location(330,6);
19.7689 + char_literal130=(Token)match(input,74,FOLLOW_74_in_ebnfSuffix2449); if (state.failed) return retval;
19.7690 + if ( state.backtracking==0 ) stream_74.add(char_literal130);
19.7691 +
19.7692 +
19.7693 +
19.7694 + // AST REWRITE
19.7695 + // elements:
19.7696 + // token labels:
19.7697 + // rule labels: retval
19.7698 + // token list labels:
19.7699 + // rule list labels:
19.7700 + // wildcard labels:
19.7701 + if ( state.backtracking==0 ) {
19.7702 + retval.tree = root_0;
19.7703 + RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);
19.7704 +
19.7705 + root_0 = (CommonTree)adaptor.nil();
19.7706 + // 330:10: -> CLOSURE[op]
19.7707 + {
19.7708 + dbg.location(330,13);
19.7709 + adaptor.addChild(root_0, (CommonTree)adaptor.create(CLOSURE, op));
19.7710 +
19.7711 + }
19.7712 +
19.7713 + retval.tree = root_0;}
19.7714 + }
19.7715 + break;
19.7716 + case 3 :
19.7717 + dbg.enterAlt(3);
19.7718 +
19.7719 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:331:7: '+'
19.7720 + {
19.7721 + dbg.location(331,7);
19.7722 + char_literal131=(Token)match(input,91,FOLLOW_91_in_ebnfSuffix2462); if (state.failed) return retval;
19.7723 + if ( state.backtracking==0 ) stream_91.add(char_literal131);
19.7724 +
19.7725 +
19.7726 +
19.7727 + // AST REWRITE
19.7728 + // elements:
19.7729 + // token labels:
19.7730 + // rule labels: retval
19.7731 + // token list labels:
19.7732 + // rule list labels:
19.7733 + // wildcard labels:
19.7734 + if ( state.backtracking==0 ) {
19.7735 + retval.tree = root_0;
19.7736 + RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);
19.7737 +
19.7738 + root_0 = (CommonTree)adaptor.nil();
19.7739 + // 331:11: -> POSITIVE_CLOSURE[op]
19.7740 + {
19.7741 + dbg.location(331,14);
19.7742 + adaptor.addChild(root_0, (CommonTree)adaptor.create(POSITIVE_CLOSURE, op));
19.7743 +
19.7744 + }
19.7745 +
19.7746 + retval.tree = root_0;}
19.7747 + }
19.7748 + break;
19.7749 +
19.7750 + }
19.7751 + retval.stop = input.LT(-1);
19.7752 +
19.7753 + if ( state.backtracking==0 ) {
19.7754 +
19.7755 + retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
19.7756 + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
19.7757 + }
19.7758 + }
19.7759 + catch (RecognitionException re) {
19.7760 + reportError(re);
19.7761 + recover(input,re);
19.7762 + retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re);
19.7763 +
19.7764 + }
19.7765 + finally {
19.7766 + }
19.7767 + dbg.location(332, 2);
19.7768 +
19.7769 + }
19.7770 + finally {
19.7771 + dbg.exitRule(getGrammarFileName(), "ebnfSuffix");
19.7772 + decRuleLevel();
19.7773 + if ( getRuleLevel()==0 ) {dbg.terminate();}
19.7774 + }
19.7775 +
19.7776 + return retval;
19.7777 + }
19.7778 + // $ANTLR end "ebnfSuffix"
19.7779 +
19.7780 + public static class rewrite_return extends ParserRuleReturnScope {
19.7781 + CommonTree tree;
19.7782 + public Object getTree() { return tree; }
19.7783 + };
19.7784 +
19.7785 + // $ANTLR start "rewrite"
19.7786 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:338:1: rewrite : ( (rew+= '->' preds+= SEMPRED predicated+= rewrite_alternative )* rew2= '->' last= rewrite_alternative -> ( ^( $rew $preds $predicated) )* ^( $rew2 $last) | );
19.7787 + public final ANTLRv3Parser.rewrite_return rewrite() throws RecognitionException {
19.7788 + ANTLRv3Parser.rewrite_return retval = new ANTLRv3Parser.rewrite_return();
19.7789 + retval.start = input.LT(1);
19.7790 +
19.7791 + CommonTree root_0 = null;
19.7792 +
19.7793 + Token rew2=null;
19.7794 + Token rew=null;
19.7795 + Token preds=null;
19.7796 + List list_rew=null;
19.7797 + List list_preds=null;
19.7798 + List list_predicated=null;
19.7799 + ANTLRv3Parser.rewrite_alternative_return last = null;
19.7800 +
19.7801 + RuleReturnScope predicated = null;
19.7802 + CommonTree rew2_tree=null;
19.7803 + CommonTree rew_tree=null;
19.7804 + CommonTree preds_tree=null;
19.7805 + RewriteRuleTokenStream stream_SEMPRED=new RewriteRuleTokenStream(adaptor,"token SEMPRED");
19.7806 + RewriteRuleTokenStream stream_REWRITE=new RewriteRuleTokenStream(adaptor,"token REWRITE");
19.7807 + RewriteRuleSubtreeStream stream_rewrite_alternative=new RewriteRuleSubtreeStream(adaptor,"rule rewrite_alternative");
19.7808 +
19.7809 + Token firstToken = input.LT(1);
19.7810 +
19.7811 + try { dbg.enterRule(getGrammarFileName(), "rewrite");
19.7812 + if ( getRuleLevel()==0 ) {dbg.commence();}
19.7813 + incRuleLevel();
19.7814 + dbg.location(338, 1);
19.7815 +
19.7816 + try {
19.7817 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:342:2: ( (rew+= '->' preds+= SEMPRED predicated+= rewrite_alternative )* rew2= '->' last= rewrite_alternative -> ( ^( $rew $preds $predicated) )* ^( $rew2 $last) | )
19.7818 + int alt63=2;
19.7819 + try { dbg.enterDecision(63, decisionCanBacktrack[63]);
19.7820 +
19.7821 + int LA63_0 = input.LA(1);
19.7822 +
19.7823 + if ( (LA63_0==REWRITE) ) {
19.7824 + alt63=1;
19.7825 + }
19.7826 + else if ( (LA63_0==69||(LA63_0>=83 && LA63_0<=84)) ) {
19.7827 + alt63=2;
19.7828 + }
19.7829 + else {
19.7830 + if (state.backtracking>0) {state.failed=true; return retval;}
19.7831 + NoViableAltException nvae =
19.7832 + new NoViableAltException("", 63, 0, input);
19.7833 +
19.7834 + dbg.recognitionException(nvae);
19.7835 + throw nvae;
19.7836 + }
19.7837 + } finally {dbg.exitDecision(63);}
19.7838 +
19.7839 + switch (alt63) {
19.7840 + case 1 :
19.7841 + dbg.enterAlt(1);
19.7842 +
19.7843 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:342:4: (rew+= '->' preds+= SEMPRED predicated+= rewrite_alternative )* rew2= '->' last= rewrite_alternative
19.7844 + {
19.7845 + dbg.location(342,4);
19.7846 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:342:4: (rew+= '->' preds+= SEMPRED predicated+= rewrite_alternative )*
19.7847 + try { dbg.enterSubRule(62);
19.7848 +
19.7849 + loop62:
19.7850 + do {
19.7851 + int alt62=2;
19.7852 + try { dbg.enterDecision(62, decisionCanBacktrack[62]);
19.7853 +
19.7854 + int LA62_0 = input.LA(1);
19.7855 +
19.7856 + if ( (LA62_0==REWRITE) ) {
19.7857 + int LA62_1 = input.LA(2);
19.7858 +
19.7859 + if ( (LA62_1==SEMPRED) ) {
19.7860 + alt62=1;
19.7861 + }
19.7862 +
19.7863 +
19.7864 + }
19.7865 +
19.7866 +
19.7867 + } finally {dbg.exitDecision(62);}
19.7868 +
19.7869 + switch (alt62) {
19.7870 + case 1 :
19.7871 + dbg.enterAlt(1);
19.7872 +
19.7873 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:342:5: rew+= '->' preds+= SEMPRED predicated+= rewrite_alternative
19.7874 + {
19.7875 + dbg.location(342,8);
19.7876 + rew=(Token)match(input,REWRITE,FOLLOW_REWRITE_in_rewrite2491); if (state.failed) return retval;
19.7877 + if ( state.backtracking==0 ) stream_REWRITE.add(rew);
19.7878 +
19.7879 + if (list_rew==null) list_rew=new ArrayList();
19.7880 + list_rew.add(rew);
19.7881 +
19.7882 + dbg.location(342,20);
19.7883 + preds=(Token)match(input,SEMPRED,FOLLOW_SEMPRED_in_rewrite2495); if (state.failed) return retval;
19.7884 + if ( state.backtracking==0 ) stream_SEMPRED.add(preds);
19.7885 +
19.7886 + if (list_preds==null) list_preds=new ArrayList();
19.7887 + list_preds.add(preds);
19.7888 +
19.7889 + dbg.location(342,40);
19.7890 + pushFollow(FOLLOW_rewrite_alternative_in_rewrite2499);
19.7891 + predicated=rewrite_alternative();
19.7892 +
19.7893 + state._fsp--;
19.7894 + if (state.failed) return retval;
19.7895 + if ( state.backtracking==0 ) stream_rewrite_alternative.add(predicated.getTree());
19.7896 + if (list_predicated==null) list_predicated=new ArrayList();
19.7897 + list_predicated.add(predicated.getTree());
19.7898 +
19.7899 +
19.7900 + }
19.7901 + break;
19.7902 +
19.7903 + default :
19.7904 + break loop62;
19.7905 + }
19.7906 + } while (true);
19.7907 + } finally {dbg.exitSubRule(62);}
19.7908 +
19.7909 + dbg.location(343,7);
19.7910 + rew2=(Token)match(input,REWRITE,FOLLOW_REWRITE_in_rewrite2507); if (state.failed) return retval;
19.7911 + if ( state.backtracking==0 ) stream_REWRITE.add(rew2);
19.7912 +
19.7913 + dbg.location(343,17);
19.7914 + pushFollow(FOLLOW_rewrite_alternative_in_rewrite2511);
19.7915 + last=rewrite_alternative();
19.7916 +
19.7917 + state._fsp--;
19.7918 + if (state.failed) return retval;
19.7919 + if ( state.backtracking==0 ) stream_rewrite_alternative.add(last.getTree());
19.7920 +
19.7921 +
19.7922 + // AST REWRITE
19.7923 + // elements: predicated, last, preds, rew2, rew
19.7924 + // token labels: rew2
19.7925 + // rule labels: retval, last
19.7926 + // token list labels: rew, preds
19.7927 + // rule list labels: predicated
19.7928 + // wildcard labels:
19.7929 + if ( state.backtracking==0 ) {
19.7930 + retval.tree = root_0;
19.7931 + RewriteRuleTokenStream stream_rew2=new RewriteRuleTokenStream(adaptor,"token rew2",rew2);
19.7932 + RewriteRuleTokenStream stream_rew=new RewriteRuleTokenStream(adaptor,"token rew", list_rew);
19.7933 + RewriteRuleTokenStream stream_preds=new RewriteRuleTokenStream(adaptor,"token preds", list_preds);
19.7934 + RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);
19.7935 + RewriteRuleSubtreeStream stream_last=new RewriteRuleSubtreeStream(adaptor,"rule last",last!=null?last.tree:null);
19.7936 + RewriteRuleSubtreeStream stream_predicated=new RewriteRuleSubtreeStream(adaptor,"token predicated",list_predicated);
19.7937 + root_0 = (CommonTree)adaptor.nil();
19.7938 + // 344:9: -> ( ^( $rew $preds $predicated) )* ^( $rew2 $last)
19.7939 + {
19.7940 + dbg.location(344,12);
19.7941 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:344:12: ( ^( $rew $preds $predicated) )*
19.7942 + while ( stream_predicated.hasNext()||stream_preds.hasNext()||stream_rew.hasNext() ) {
19.7943 + dbg.location(344,12);
19.7944 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:344:12: ^( $rew $preds $predicated)
19.7945 + {
19.7946 + CommonTree root_1 = (CommonTree)adaptor.nil();
19.7947 + dbg.location(344,14);
19.7948 + root_1 = (CommonTree)adaptor.becomeRoot(stream_rew.nextNode(), root_1);
19.7949 +
19.7950 + dbg.location(344,19);
19.7951 + adaptor.addChild(root_1, stream_preds.nextNode());
19.7952 + dbg.location(344,26);
19.7953 + adaptor.addChild(root_1, stream_predicated.nextTree());
19.7954 +
19.7955 + adaptor.addChild(root_0, root_1);
19.7956 + }
19.7957 +
19.7958 + }
19.7959 + stream_predicated.reset();
19.7960 + stream_preds.reset();
19.7961 + stream_rew.reset();
19.7962 + dbg.location(344,40);
19.7963 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:344:40: ^( $rew2 $last)
19.7964 + {
19.7965 + CommonTree root_1 = (CommonTree)adaptor.nil();
19.7966 + dbg.location(344,42);
19.7967 + root_1 = (CommonTree)adaptor.becomeRoot(stream_rew2.nextNode(), root_1);
19.7968 +
19.7969 + dbg.location(344,48);
19.7970 + adaptor.addChild(root_1, stream_last.nextTree());
19.7971 +
19.7972 + adaptor.addChild(root_0, root_1);
19.7973 + }
19.7974 +
19.7975 + }
19.7976 +
19.7977 + retval.tree = root_0;}
19.7978 + }
19.7979 + break;
19.7980 + case 2 :
19.7981 + dbg.enterAlt(2);
19.7982 +
19.7983 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:346:2:
19.7984 + {
19.7985 + root_0 = (CommonTree)adaptor.nil();
19.7986 +
19.7987 + }
19.7988 + break;
19.7989 +
19.7990 + }
19.7991 + retval.stop = input.LT(-1);
19.7992 +
19.7993 + if ( state.backtracking==0 ) {
19.7994 +
19.7995 + retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
19.7996 + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
19.7997 + }
19.7998 + }
19.7999 + catch (RecognitionException re) {
19.8000 + reportError(re);
19.8001 + recover(input,re);
19.8002 + retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re);
19.8003 +
19.8004 + }
19.8005 + finally {
19.8006 + }
19.8007 + dbg.location(346, 2);
19.8008 +
19.8009 + }
19.8010 + finally {
19.8011 + dbg.exitRule(getGrammarFileName(), "rewrite");
19.8012 + decRuleLevel();
19.8013 + if ( getRuleLevel()==0 ) {dbg.terminate();}
19.8014 + }
19.8015 +
19.8016 + return retval;
19.8017 + }
19.8018 + // $ANTLR end "rewrite"
19.8019 +
19.8020 + public static class rewrite_alternative_return extends ParserRuleReturnScope {
19.8021 + CommonTree tree;
19.8022 + public Object getTree() { return tree; }
19.8023 + };
19.8024 +
19.8025 + // $ANTLR start "rewrite_alternative"
19.8026 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:348:1: rewrite_alternative options {backtrack=true; } : ( rewrite_template | rewrite_tree_alternative | -> ^( ALT[\"ALT\"] EPSILON[\"EPSILON\"] EOA[\"EOA\"] ) );
19.8027 + public final ANTLRv3Parser.rewrite_alternative_return rewrite_alternative() throws RecognitionException {
19.8028 + ANTLRv3Parser.rewrite_alternative_return retval = new ANTLRv3Parser.rewrite_alternative_return();
19.8029 + retval.start = input.LT(1);
19.8030 +
19.8031 + CommonTree root_0 = null;
19.8032 +
19.8033 + ANTLRv3Parser.rewrite_template_return rewrite_template132 = null;
19.8034 +
19.8035 + ANTLRv3Parser.rewrite_tree_alternative_return rewrite_tree_alternative133 = null;
19.8036 +
19.8037 +
19.8038 +
19.8039 + try { dbg.enterRule(getGrammarFileName(), "rewrite_alternative");
19.8040 + if ( getRuleLevel()==0 ) {dbg.commence();}
19.8041 + incRuleLevel();
19.8042 + dbg.location(348, 1);
19.8043 +
19.8044 + try {
19.8045 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:350:2: ( rewrite_template | rewrite_tree_alternative | -> ^( ALT[\"ALT\"] EPSILON[\"EPSILON\"] EOA[\"EOA\"] ) )
19.8046 + int alt64=3;
19.8047 + try { dbg.enterDecision(64, decisionCanBacktrack[64]);
19.8048 +
19.8049 + try {
19.8050 + isCyclicDecision = true;
19.8051 + alt64 = dfa64.predict(input);
19.8052 + }
19.8053 + catch (NoViableAltException nvae) {
19.8054 + dbg.recognitionException(nvae);
19.8055 + throw nvae;
19.8056 + }
19.8057 + } finally {dbg.exitDecision(64);}
19.8058 +
19.8059 + switch (alt64) {
19.8060 + case 1 :
19.8061 + dbg.enterAlt(1);
19.8062 +
19.8063 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:350:4: rewrite_template
19.8064 + {
19.8065 + root_0 = (CommonTree)adaptor.nil();
19.8066 +
19.8067 + dbg.location(350,4);
19.8068 + pushFollow(FOLLOW_rewrite_template_in_rewrite_alternative2562);
19.8069 + rewrite_template132=rewrite_template();
19.8070 +
19.8071 + state._fsp--;
19.8072 + if (state.failed) return retval;
19.8073 + if ( state.backtracking==0 ) adaptor.addChild(root_0, rewrite_template132.getTree());
19.8074 +
19.8075 + }
19.8076 + break;
19.8077 + case 2 :
19.8078 + dbg.enterAlt(2);
19.8079 +
19.8080 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:351:4: rewrite_tree_alternative
19.8081 + {
19.8082 + root_0 = (CommonTree)adaptor.nil();
19.8083 +
19.8084 + dbg.location(351,4);
19.8085 + pushFollow(FOLLOW_rewrite_tree_alternative_in_rewrite_alternative2567);
19.8086 + rewrite_tree_alternative133=rewrite_tree_alternative();
19.8087 +
19.8088 + state._fsp--;
19.8089 + if (state.failed) return retval;
19.8090 + if ( state.backtracking==0 ) adaptor.addChild(root_0, rewrite_tree_alternative133.getTree());
19.8091 +
19.8092 + }
19.8093 + break;
19.8094 + case 3 :
19.8095 + dbg.enterAlt(3);
19.8096 +
19.8097 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:352:29:
19.8098 + {
19.8099 +
19.8100 + // AST REWRITE
19.8101 + // elements:
19.8102 + // token labels:
19.8103 + // rule labels: retval
19.8104 + // token list labels:
19.8105 + // rule list labels:
19.8106 + // wildcard labels:
19.8107 + if ( state.backtracking==0 ) {
19.8108 + retval.tree = root_0;
19.8109 + RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);
19.8110 +
19.8111 + root_0 = (CommonTree)adaptor.nil();
19.8112 + // 352:29: -> ^( ALT[\"ALT\"] EPSILON[\"EPSILON\"] EOA[\"EOA\"] )
19.8113 + {
19.8114 + dbg.location(352,32);
19.8115 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:352:32: ^( ALT[\"ALT\"] EPSILON[\"EPSILON\"] EOA[\"EOA\"] )
19.8116 + {
19.8117 + CommonTree root_1 = (CommonTree)adaptor.nil();
19.8118 + dbg.location(352,34);
19.8119 + root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(ALT, "ALT"), root_1);
19.8120 +
19.8121 + dbg.location(352,45);
19.8122 + adaptor.addChild(root_1, (CommonTree)adaptor.create(EPSILON, "EPSILON"));
19.8123 + dbg.location(352,64);
19.8124 + adaptor.addChild(root_1, (CommonTree)adaptor.create(EOA, "EOA"));
19.8125 +
19.8126 + adaptor.addChild(root_0, root_1);
19.8127 + }
19.8128 +
19.8129 + }
19.8130 +
19.8131 + retval.tree = root_0;}
19.8132 + }
19.8133 + break;
19.8134 +
19.8135 + }
19.8136 + retval.stop = input.LT(-1);
19.8137 +
19.8138 + if ( state.backtracking==0 ) {
19.8139 +
19.8140 + retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
19.8141 + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
19.8142 + }
19.8143 + }
19.8144 + catch (RecognitionException re) {
19.8145 + reportError(re);
19.8146 + recover(input,re);
19.8147 + retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re);
19.8148 +
19.8149 + }
19.8150 + finally {
19.8151 + }
19.8152 + dbg.location(353, 2);
19.8153 +
19.8154 + }
19.8155 + finally {
19.8156 + dbg.exitRule(getGrammarFileName(), "rewrite_alternative");
19.8157 + decRuleLevel();
19.8158 + if ( getRuleLevel()==0 ) {dbg.terminate();}
19.8159 + }
19.8160 +
19.8161 + return retval;
19.8162 + }
19.8163 + // $ANTLR end "rewrite_alternative"
19.8164 +
19.8165 + public static class rewrite_tree_block_return extends ParserRuleReturnScope {
19.8166 + CommonTree tree;
19.8167 + public Object getTree() { return tree; }
19.8168 + };
19.8169 +
19.8170 + // $ANTLR start "rewrite_tree_block"
19.8171 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:355:1: rewrite_tree_block : lp= '(' rewrite_tree_alternative ')' -> ^( BLOCK[$lp,\"BLOCK\"] rewrite_tree_alternative EOB[$lp,\"EOB\"] ) ;
19.8172 + public final ANTLRv3Parser.rewrite_tree_block_return rewrite_tree_block() throws RecognitionException {
19.8173 + ANTLRv3Parser.rewrite_tree_block_return retval = new ANTLRv3Parser.rewrite_tree_block_return();
19.8174 + retval.start = input.LT(1);
19.8175 +
19.8176 + CommonTree root_0 = null;
19.8177 +
19.8178 + Token lp=null;
19.8179 + Token char_literal135=null;
19.8180 + ANTLRv3Parser.rewrite_tree_alternative_return rewrite_tree_alternative134 = null;
19.8181 +
19.8182 +
19.8183 + CommonTree lp_tree=null;
19.8184 + CommonTree char_literal135_tree=null;
19.8185 + RewriteRuleTokenStream stream_82=new RewriteRuleTokenStream(adaptor,"token 82");
19.8186 + RewriteRuleTokenStream stream_84=new RewriteRuleTokenStream(adaptor,"token 84");
19.8187 + RewriteRuleSubtreeStream stream_rewrite_tree_alternative=new RewriteRuleSubtreeStream(adaptor,"rule rewrite_tree_alternative");
19.8188 + try { dbg.enterRule(getGrammarFileName(), "rewrite_tree_block");
19.8189 + if ( getRuleLevel()==0 ) {dbg.commence();}
19.8190 + incRuleLevel();
19.8191 + dbg.location(355, 1);
19.8192 +
19.8193 + try {
19.8194 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:356:5: (lp= '(' rewrite_tree_alternative ')' -> ^( BLOCK[$lp,\"BLOCK\"] rewrite_tree_alternative EOB[$lp,\"EOB\"] ) )
19.8195 + dbg.enterAlt(1);
19.8196 +
19.8197 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:356:9: lp= '(' rewrite_tree_alternative ')'
19.8198 + {
19.8199 + dbg.location(356,11);
19.8200 + lp=(Token)match(input,82,FOLLOW_82_in_rewrite_tree_block2609); if (state.failed) return retval;
19.8201 + if ( state.backtracking==0 ) stream_82.add(lp);
19.8202 +
19.8203 + dbg.location(356,16);
19.8204 + pushFollow(FOLLOW_rewrite_tree_alternative_in_rewrite_tree_block2611);
19.8205 + rewrite_tree_alternative134=rewrite_tree_alternative();
19.8206 +
19.8207 + state._fsp--;
19.8208 + if (state.failed) return retval;
19.8209 + if ( state.backtracking==0 ) stream_rewrite_tree_alternative.add(rewrite_tree_alternative134.getTree());
19.8210 + dbg.location(356,41);
19.8211 + char_literal135=(Token)match(input,84,FOLLOW_84_in_rewrite_tree_block2613); if (state.failed) return retval;
19.8212 + if ( state.backtracking==0 ) stream_84.add(char_literal135);
19.8213 +
19.8214 +
19.8215 +
19.8216 + // AST REWRITE
19.8217 + // elements: rewrite_tree_alternative
19.8218 + // token labels:
19.8219 + // rule labels: retval
19.8220 + // token list labels:
19.8221 + // rule list labels:
19.8222 + // wildcard labels:
19.8223 + if ( state.backtracking==0 ) {
19.8224 + retval.tree = root_0;
19.8225 + RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);
19.8226 +
19.8227 + root_0 = (CommonTree)adaptor.nil();
19.8228 + // 357:6: -> ^( BLOCK[$lp,\"BLOCK\"] rewrite_tree_alternative EOB[$lp,\"EOB\"] )
19.8229 + {
19.8230 + dbg.location(357,9);
19.8231 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:357:9: ^( BLOCK[$lp,\"BLOCK\"] rewrite_tree_alternative EOB[$lp,\"EOB\"] )
19.8232 + {
19.8233 + CommonTree root_1 = (CommonTree)adaptor.nil();
19.8234 + dbg.location(357,11);
19.8235 + root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(BLOCK, lp, "BLOCK"), root_1);
19.8236 +
19.8237 + dbg.location(357,30);
19.8238 + adaptor.addChild(root_1, stream_rewrite_tree_alternative.nextTree());
19.8239 + dbg.location(357,55);
19.8240 + adaptor.addChild(root_1, (CommonTree)adaptor.create(EOB, lp, "EOB"));
19.8241 +
19.8242 + adaptor.addChild(root_0, root_1);
19.8243 + }
19.8244 +
19.8245 + }
19.8246 +
19.8247 + retval.tree = root_0;}
19.8248 + }
19.8249 +
19.8250 + retval.stop = input.LT(-1);
19.8251 +
19.8252 + if ( state.backtracking==0 ) {
19.8253 +
19.8254 + retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
19.8255 + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
19.8256 + }
19.8257 + }
19.8258 + catch (RecognitionException re) {
19.8259 + reportError(re);
19.8260 + recover(input,re);
19.8261 + retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re);
19.8262 +
19.8263 + }
19.8264 + finally {
19.8265 + }
19.8266 + dbg.location(358, 5);
19.8267 +
19.8268 + }
19.8269 + finally {
19.8270 + dbg.exitRule(getGrammarFileName(), "rewrite_tree_block");
19.8271 + decRuleLevel();
19.8272 + if ( getRuleLevel()==0 ) {dbg.terminate();}
19.8273 + }
19.8274 +
19.8275 + return retval;
19.8276 + }
19.8277 + // $ANTLR end "rewrite_tree_block"
19.8278 +
19.8279 + public static class rewrite_tree_alternative_return extends ParserRuleReturnScope {
19.8280 + CommonTree tree;
19.8281 + public Object getTree() { return tree; }
19.8282 + };
19.8283 +
19.8284 + // $ANTLR start "rewrite_tree_alternative"
19.8285 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:360:1: rewrite_tree_alternative : ( rewrite_tree_element )+ -> ^( ALT[\"ALT\"] ( rewrite_tree_element )+ EOA[\"EOA\"] ) ;
19.8286 + public final ANTLRv3Parser.rewrite_tree_alternative_return rewrite_tree_alternative() throws RecognitionException {
19.8287 + ANTLRv3Parser.rewrite_tree_alternative_return retval = new ANTLRv3Parser.rewrite_tree_alternative_return();
19.8288 + retval.start = input.LT(1);
19.8289 +
19.8290 + CommonTree root_0 = null;
19.8291 +
19.8292 + ANTLRv3Parser.rewrite_tree_element_return rewrite_tree_element136 = null;
19.8293 +
19.8294 +
19.8295 + RewriteRuleSubtreeStream stream_rewrite_tree_element=new RewriteRuleSubtreeStream(adaptor,"rule rewrite_tree_element");
19.8296 + try { dbg.enterRule(getGrammarFileName(), "rewrite_tree_alternative");
19.8297 + if ( getRuleLevel()==0 ) {dbg.commence();}
19.8298 + incRuleLevel();
19.8299 + dbg.location(360, 1);
19.8300 +
19.8301 + try {
19.8302 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:361:5: ( ( rewrite_tree_element )+ -> ^( ALT[\"ALT\"] ( rewrite_tree_element )+ EOA[\"EOA\"] ) )
19.8303 + dbg.enterAlt(1);
19.8304 +
19.8305 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:361:7: ( rewrite_tree_element )+
19.8306 + {
19.8307 + dbg.location(361,7);
19.8308 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:361:7: ( rewrite_tree_element )+
19.8309 + int cnt65=0;
19.8310 + try { dbg.enterSubRule(65);
19.8311 +
19.8312 + loop65:
19.8313 + do {
19.8314 + int alt65=2;
19.8315 + try { dbg.enterDecision(65, decisionCanBacktrack[65]);
19.8316 +
19.8317 + int LA65_0 = input.LA(1);
19.8318 +
19.8319 + if ( (LA65_0==TREE_BEGIN||(LA65_0>=TOKEN_REF && LA65_0<=ACTION)||LA65_0==RULE_REF||LA65_0==82||LA65_0==93) ) {
19.8320 + alt65=1;
19.8321 + }
19.8322 +
19.8323 +
19.8324 + } finally {dbg.exitDecision(65);}
19.8325 +
19.8326 + switch (alt65) {
19.8327 + case 1 :
19.8328 + dbg.enterAlt(1);
19.8329 +
19.8330 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:361:7: rewrite_tree_element
19.8331 + {
19.8332 + dbg.location(361,7);
19.8333 + pushFollow(FOLLOW_rewrite_tree_element_in_rewrite_tree_alternative2647);
19.8334 + rewrite_tree_element136=rewrite_tree_element();
19.8335 +
19.8336 + state._fsp--;
19.8337 + if (state.failed) return retval;
19.8338 + if ( state.backtracking==0 ) stream_rewrite_tree_element.add(rewrite_tree_element136.getTree());
19.8339 +
19.8340 + }
19.8341 + break;
19.8342 +
19.8343 + default :
19.8344 + if ( cnt65 >= 1 ) break loop65;
19.8345 + if (state.backtracking>0) {state.failed=true; return retval;}
19.8346 + EarlyExitException eee =
19.8347 + new EarlyExitException(65, input);
19.8348 + dbg.recognitionException(eee);
19.8349 +
19.8350 + throw eee;
19.8351 + }
19.8352 + cnt65++;
19.8353 + } while (true);
19.8354 + } finally {dbg.exitSubRule(65);}
19.8355 +
19.8356 +
19.8357 +
19.8358 + // AST REWRITE
19.8359 + // elements: rewrite_tree_element
19.8360 + // token labels:
19.8361 + // rule labels: retval
19.8362 + // token list labels:
19.8363 + // rule list labels:
19.8364 + // wildcard labels:
19.8365 + if ( state.backtracking==0 ) {
19.8366 + retval.tree = root_0;
19.8367 + RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);
19.8368 +
19.8369 + root_0 = (CommonTree)adaptor.nil();
19.8370 + // 361:29: -> ^( ALT[\"ALT\"] ( rewrite_tree_element )+ EOA[\"EOA\"] )
19.8371 + {
19.8372 + dbg.location(361,32);
19.8373 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:361:32: ^( ALT[\"ALT\"] ( rewrite_tree_element )+ EOA[\"EOA\"] )
19.8374 + {
19.8375 + CommonTree root_1 = (CommonTree)adaptor.nil();
19.8376 + dbg.location(361,34);
19.8377 + root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(ALT, "ALT"), root_1);
19.8378 +
19.8379 + dbg.location(361,45);
19.8380 + if ( !(stream_rewrite_tree_element.hasNext()) ) {
19.8381 + throw new RewriteEarlyExitException();
19.8382 + }
19.8383 + while ( stream_rewrite_tree_element.hasNext() ) {
19.8384 + dbg.location(361,45);
19.8385 + adaptor.addChild(root_1, stream_rewrite_tree_element.nextTree());
19.8386 +
19.8387 + }
19.8388 + stream_rewrite_tree_element.reset();
19.8389 + dbg.location(361,67);
19.8390 + adaptor.addChild(root_1, (CommonTree)adaptor.create(EOA, "EOA"));
19.8391 +
19.8392 + adaptor.addChild(root_0, root_1);
19.8393 + }
19.8394 +
19.8395 + }
19.8396 +
19.8397 + retval.tree = root_0;}
19.8398 + }
19.8399 +
19.8400 + retval.stop = input.LT(-1);
19.8401 +
19.8402 + if ( state.backtracking==0 ) {
19.8403 +
19.8404 + retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
19.8405 + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
19.8406 + }
19.8407 + }
19.8408 + catch (RecognitionException re) {
19.8409 + reportError(re);
19.8410 + recover(input,re);
19.8411 + retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re);
19.8412 +
19.8413 + }
19.8414 + finally {
19.8415 + }
19.8416 + dbg.location(362, 5);
19.8417 +
19.8418 + }
19.8419 + finally {
19.8420 + dbg.exitRule(getGrammarFileName(), "rewrite_tree_alternative");
19.8421 + decRuleLevel();
19.8422 + if ( getRuleLevel()==0 ) {dbg.terminate();}
19.8423 + }
19.8424 +
19.8425 + return retval;
19.8426 + }
19.8427 + // $ANTLR end "rewrite_tree_alternative"
19.8428 +
19.8429 + public static class rewrite_tree_element_return extends ParserRuleReturnScope {
19.8430 + CommonTree tree;
19.8431 + public Object getTree() { return tree; }
19.8432 + };
19.8433 +
19.8434 + // $ANTLR start "rewrite_tree_element"
19.8435 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:364:1: rewrite_tree_element : ( rewrite_tree_atom | rewrite_tree_atom ebnfSuffix -> ^( ebnfSuffix ^( BLOCK[\"BLOCK\"] ^( ALT[\"ALT\"] rewrite_tree_atom EOA[\"EOA\"] ) EOB[\"EOB\"] ) ) | rewrite_tree ( ebnfSuffix -> ^( ebnfSuffix ^( BLOCK[\"BLOCK\"] ^( ALT[\"ALT\"] rewrite_tree EOA[\"EOA\"] ) EOB[\"EOB\"] ) ) | -> rewrite_tree ) | rewrite_tree_ebnf );
19.8436 + public final ANTLRv3Parser.rewrite_tree_element_return rewrite_tree_element() throws RecognitionException {
19.8437 + ANTLRv3Parser.rewrite_tree_element_return retval = new ANTLRv3Parser.rewrite_tree_element_return();
19.8438 + retval.start = input.LT(1);
19.8439 +
19.8440 + CommonTree root_0 = null;
19.8441 +
19.8442 + ANTLRv3Parser.rewrite_tree_atom_return rewrite_tree_atom137 = null;
19.8443 +
19.8444 + ANTLRv3Parser.rewrite_tree_atom_return rewrite_tree_atom138 = null;
19.8445 +
19.8446 + ANTLRv3Parser.ebnfSuffix_return ebnfSuffix139 = null;
19.8447 +
19.8448 + ANTLRv3Parser.rewrite_tree_return rewrite_tree140 = null;
19.8449 +
19.8450 + ANTLRv3Parser.ebnfSuffix_return ebnfSuffix141 = null;
19.8451 +
19.8452 + ANTLRv3Parser.rewrite_tree_ebnf_return rewrite_tree_ebnf142 = null;
19.8453 +
19.8454 +
19.8455 + RewriteRuleSubtreeStream stream_rewrite_tree=new RewriteRuleSubtreeStream(adaptor,"rule rewrite_tree");
19.8456 + RewriteRuleSubtreeStream stream_ebnfSuffix=new RewriteRuleSubtreeStream(adaptor,"rule ebnfSuffix");
19.8457 + RewriteRuleSubtreeStream stream_rewrite_tree_atom=new RewriteRuleSubtreeStream(adaptor,"rule rewrite_tree_atom");
19.8458 + try { dbg.enterRule(getGrammarFileName(), "rewrite_tree_element");
19.8459 + if ( getRuleLevel()==0 ) {dbg.commence();}
19.8460 + incRuleLevel();
19.8461 + dbg.location(364, 1);
19.8462 +
19.8463 + try {
19.8464 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:365:2: ( rewrite_tree_atom | rewrite_tree_atom ebnfSuffix -> ^( ebnfSuffix ^( BLOCK[\"BLOCK\"] ^( ALT[\"ALT\"] rewrite_tree_atom EOA[\"EOA\"] ) EOB[\"EOB\"] ) ) | rewrite_tree ( ebnfSuffix -> ^( ebnfSuffix ^( BLOCK[\"BLOCK\"] ^( ALT[\"ALT\"] rewrite_tree EOA[\"EOA\"] ) EOB[\"EOB\"] ) ) | -> rewrite_tree ) | rewrite_tree_ebnf )
19.8465 + int alt67=4;
19.8466 + try { dbg.enterDecision(67, decisionCanBacktrack[67]);
19.8467 +
19.8468 + try {
19.8469 + isCyclicDecision = true;
19.8470 + alt67 = dfa67.predict(input);
19.8471 + }
19.8472 + catch (NoViableAltException nvae) {
19.8473 + dbg.recognitionException(nvae);
19.8474 + throw nvae;
19.8475 + }
19.8476 + } finally {dbg.exitDecision(67);}
19.8477 +
19.8478 + switch (alt67) {
19.8479 + case 1 :
19.8480 + dbg.enterAlt(1);
19.8481 +
19.8482 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:365:4: rewrite_tree_atom
19.8483 + {
19.8484 + root_0 = (CommonTree)adaptor.nil();
19.8485 +
19.8486 + dbg.location(365,4);
19.8487 + pushFollow(FOLLOW_rewrite_tree_atom_in_rewrite_tree_element2675);
19.8488 + rewrite_tree_atom137=rewrite_tree_atom();
19.8489 +
19.8490 + state._fsp--;
19.8491 + if (state.failed) return retval;
19.8492 + if ( state.backtracking==0 ) adaptor.addChild(root_0, rewrite_tree_atom137.getTree());
19.8493 +
19.8494 + }
19.8495 + break;
19.8496 + case 2 :
19.8497 + dbg.enterAlt(2);
19.8498 +
19.8499 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:366:4: rewrite_tree_atom ebnfSuffix
19.8500 + {
19.8501 + dbg.location(366,4);
19.8502 + pushFollow(FOLLOW_rewrite_tree_atom_in_rewrite_tree_element2680);
19.8503 + rewrite_tree_atom138=rewrite_tree_atom();
19.8504 +
19.8505 + state._fsp--;
19.8506 + if (state.failed) return retval;
19.8507 + if ( state.backtracking==0 ) stream_rewrite_tree_atom.add(rewrite_tree_atom138.getTree());
19.8508 + dbg.location(366,22);
19.8509 + pushFollow(FOLLOW_ebnfSuffix_in_rewrite_tree_element2682);
19.8510 + ebnfSuffix139=ebnfSuffix();
19.8511 +
19.8512 + state._fsp--;
19.8513 + if (state.failed) return retval;
19.8514 + if ( state.backtracking==0 ) stream_ebnfSuffix.add(ebnfSuffix139.getTree());
19.8515 +
19.8516 +
19.8517 + // AST REWRITE
19.8518 + // elements: rewrite_tree_atom, ebnfSuffix
19.8519 + // token labels:
19.8520 + // rule labels: retval
19.8521 + // token list labels:
19.8522 + // rule list labels:
19.8523 + // wildcard labels:
19.8524 + if ( state.backtracking==0 ) {
19.8525 + retval.tree = root_0;
19.8526 + RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);
19.8527 +
19.8528 + root_0 = (CommonTree)adaptor.nil();
19.8529 + // 367:3: -> ^( ebnfSuffix ^( BLOCK[\"BLOCK\"] ^( ALT[\"ALT\"] rewrite_tree_atom EOA[\"EOA\"] ) EOB[\"EOB\"] ) )
19.8530 + {
19.8531 + dbg.location(367,6);
19.8532 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:367:6: ^( ebnfSuffix ^( BLOCK[\"BLOCK\"] ^( ALT[\"ALT\"] rewrite_tree_atom EOA[\"EOA\"] ) EOB[\"EOB\"] ) )
19.8533 + {
19.8534 + CommonTree root_1 = (CommonTree)adaptor.nil();
19.8535 + dbg.location(367,9);
19.8536 + root_1 = (CommonTree)adaptor.becomeRoot(stream_ebnfSuffix.nextNode(), root_1);
19.8537 +
19.8538 + dbg.location(367,20);
19.8539 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:367:20: ^( BLOCK[\"BLOCK\"] ^( ALT[\"ALT\"] rewrite_tree_atom EOA[\"EOA\"] ) EOB[\"EOB\"] )
19.8540 + {
19.8541 + CommonTree root_2 = (CommonTree)adaptor.nil();
19.8542 + dbg.location(367,22);
19.8543 + root_2 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(BLOCK, "BLOCK"), root_2);
19.8544 +
19.8545 + dbg.location(367,37);
19.8546 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:367:37: ^( ALT[\"ALT\"] rewrite_tree_atom EOA[\"EOA\"] )
19.8547 + {
19.8548 + CommonTree root_3 = (CommonTree)adaptor.nil();
19.8549 + dbg.location(367,39);
19.8550 + root_3 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(ALT, "ALT"), root_3);
19.8551 +
19.8552 + dbg.location(367,50);
19.8553 + adaptor.addChild(root_3, stream_rewrite_tree_atom.nextTree());
19.8554 + dbg.location(367,68);
19.8555 + adaptor.addChild(root_3, (CommonTree)adaptor.create(EOA, "EOA"));
19.8556 +
19.8557 + adaptor.addChild(root_2, root_3);
19.8558 + }
19.8559 + dbg.location(367,80);
19.8560 + adaptor.addChild(root_2, (CommonTree)adaptor.create(EOB, "EOB"));
19.8561 +
19.8562 + adaptor.addChild(root_1, root_2);
19.8563 + }
19.8564 +
19.8565 + adaptor.addChild(root_0, root_1);
19.8566 + }
19.8567 +
19.8568 + }
19.8569 +
19.8570 + retval.tree = root_0;}
19.8571 + }
19.8572 + break;
19.8573 + case 3 :
19.8574 + dbg.enterAlt(3);
19.8575 +
19.8576 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:368:6: rewrite_tree ( ebnfSuffix -> ^( ebnfSuffix ^( BLOCK[\"BLOCK\"] ^( ALT[\"ALT\"] rewrite_tree EOA[\"EOA\"] ) EOB[\"EOB\"] ) ) | -> rewrite_tree )
19.8577 + {
19.8578 + dbg.location(368,6);
19.8579 + pushFollow(FOLLOW_rewrite_tree_in_rewrite_tree_element2716);
19.8580 + rewrite_tree140=rewrite_tree();
19.8581 +
19.8582 + state._fsp--;
19.8583 + if (state.failed) return retval;
19.8584 + if ( state.backtracking==0 ) stream_rewrite_tree.add(rewrite_tree140.getTree());
19.8585 + dbg.location(369,3);
19.8586 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:369:3: ( ebnfSuffix -> ^( ebnfSuffix ^( BLOCK[\"BLOCK\"] ^( ALT[\"ALT\"] rewrite_tree EOA[\"EOA\"] ) EOB[\"EOB\"] ) ) | -> rewrite_tree )
19.8587 + int alt66=2;
19.8588 + try { dbg.enterSubRule(66);
19.8589 + try { dbg.enterDecision(66, decisionCanBacktrack[66]);
19.8590 +
19.8591 + int LA66_0 = input.LA(1);
19.8592 +
19.8593 + if ( (LA66_0==74||(LA66_0>=90 && LA66_0<=91)) ) {
19.8594 + alt66=1;
19.8595 + }
19.8596 + else if ( (LA66_0==EOF||LA66_0==TREE_BEGIN||LA66_0==REWRITE||(LA66_0>=TOKEN_REF && LA66_0<=ACTION)||LA66_0==RULE_REF||LA66_0==69||(LA66_0>=82 && LA66_0<=84)||LA66_0==93) ) {
19.8597 + alt66=2;
19.8598 + }
19.8599 + else {
19.8600 + if (state.backtracking>0) {state.failed=true; return retval;}
19.8601 + NoViableAltException nvae =
19.8602 + new NoViableAltException("", 66, 0, input);
19.8603 +
19.8604 + dbg.recognitionException(nvae);
19.8605 + throw nvae;
19.8606 + }
19.8607 + } finally {dbg.exitDecision(66);}
19.8608 +
19.8609 + switch (alt66) {
19.8610 + case 1 :
19.8611 + dbg.enterAlt(1);
19.8612 +
19.8613 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:369:5: ebnfSuffix
19.8614 + {
19.8615 + dbg.location(369,5);
19.8616 + pushFollow(FOLLOW_ebnfSuffix_in_rewrite_tree_element2722);
19.8617 + ebnfSuffix141=ebnfSuffix();
19.8618 +
19.8619 + state._fsp--;
19.8620 + if (state.failed) return retval;
19.8621 + if ( state.backtracking==0 ) stream_ebnfSuffix.add(ebnfSuffix141.getTree());
19.8622 +
19.8623 +
19.8624 + // AST REWRITE
19.8625 + // elements: ebnfSuffix, rewrite_tree
19.8626 + // token labels:
19.8627 + // rule labels: retval
19.8628 + // token list labels:
19.8629 + // rule list labels:
19.8630 + // wildcard labels:
19.8631 + if ( state.backtracking==0 ) {
19.8632 + retval.tree = root_0;
19.8633 + RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);
19.8634 +
19.8635 + root_0 = (CommonTree)adaptor.nil();
19.8636 + // 370:4: -> ^( ebnfSuffix ^( BLOCK[\"BLOCK\"] ^( ALT[\"ALT\"] rewrite_tree EOA[\"EOA\"] ) EOB[\"EOB\"] ) )
19.8637 + {
19.8638 + dbg.location(370,7);
19.8639 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:370:7: ^( ebnfSuffix ^( BLOCK[\"BLOCK\"] ^( ALT[\"ALT\"] rewrite_tree EOA[\"EOA\"] ) EOB[\"EOB\"] ) )
19.8640 + {
19.8641 + CommonTree root_1 = (CommonTree)adaptor.nil();
19.8642 + dbg.location(370,9);
19.8643 + root_1 = (CommonTree)adaptor.becomeRoot(stream_ebnfSuffix.nextNode(), root_1);
19.8644 +
19.8645 + dbg.location(370,20);
19.8646 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:370:20: ^( BLOCK[\"BLOCK\"] ^( ALT[\"ALT\"] rewrite_tree EOA[\"EOA\"] ) EOB[\"EOB\"] )
19.8647 + {
19.8648 + CommonTree root_2 = (CommonTree)adaptor.nil();
19.8649 + dbg.location(370,22);
19.8650 + root_2 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(BLOCK, "BLOCK"), root_2);
19.8651 +
19.8652 + dbg.location(370,37);
19.8653 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:370:37: ^( ALT[\"ALT\"] rewrite_tree EOA[\"EOA\"] )
19.8654 + {
19.8655 + CommonTree root_3 = (CommonTree)adaptor.nil();
19.8656 + dbg.location(370,39);
19.8657 + root_3 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(ALT, "ALT"), root_3);
19.8658 +
19.8659 + dbg.location(370,50);
19.8660 + adaptor.addChild(root_3, stream_rewrite_tree.nextTree());
19.8661 + dbg.location(370,63);
19.8662 + adaptor.addChild(root_3, (CommonTree)adaptor.create(EOA, "EOA"));
19.8663 +
19.8664 + adaptor.addChild(root_2, root_3);
19.8665 + }
19.8666 + dbg.location(370,75);
19.8667 + adaptor.addChild(root_2, (CommonTree)adaptor.create(EOB, "EOB"));
19.8668 +
19.8669 + adaptor.addChild(root_1, root_2);
19.8670 + }
19.8671 +
19.8672 + adaptor.addChild(root_0, root_1);
19.8673 + }
19.8674 +
19.8675 + }
19.8676 +
19.8677 + retval.tree = root_0;}
19.8678 + }
19.8679 + break;
19.8680 + case 2 :
19.8681 + dbg.enterAlt(2);
19.8682 +
19.8683 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:371:5:
19.8684 + {
19.8685 +
19.8686 + // AST REWRITE
19.8687 + // elements: rewrite_tree
19.8688 + // token labels:
19.8689 + // rule labels: retval
19.8690 + // token list labels:
19.8691 + // rule list labels:
19.8692 + // wildcard labels:
19.8693 + if ( state.backtracking==0 ) {
19.8694 + retval.tree = root_0;
19.8695 + RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);
19.8696 +
19.8697 + root_0 = (CommonTree)adaptor.nil();
19.8698 + // 371:5: -> rewrite_tree
19.8699 + {
19.8700 + dbg.location(371,8);
19.8701 + adaptor.addChild(root_0, stream_rewrite_tree.nextTree());
19.8702 +
19.8703 + }
19.8704 +
19.8705 + retval.tree = root_0;}
19.8706 + }
19.8707 + break;
19.8708 +
19.8709 + }
19.8710 + } finally {dbg.exitSubRule(66);}
19.8711 +
19.8712 +
19.8713 + }
19.8714 + break;
19.8715 + case 4 :
19.8716 + dbg.enterAlt(4);
19.8717 +
19.8718 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:373:6: rewrite_tree_ebnf
19.8719 + {
19.8720 + root_0 = (CommonTree)adaptor.nil();
19.8721 +
19.8722 + dbg.location(373,6);
19.8723 + pushFollow(FOLLOW_rewrite_tree_ebnf_in_rewrite_tree_element2768);
19.8724 + rewrite_tree_ebnf142=rewrite_tree_ebnf();
19.8725 +
19.8726 + state._fsp--;
19.8727 + if (state.failed) return retval;
19.8728 + if ( state.backtracking==0 ) adaptor.addChild(root_0, rewrite_tree_ebnf142.getTree());
19.8729 +
19.8730 + }
19.8731 + break;
19.8732 +
19.8733 + }
19.8734 + retval.stop = input.LT(-1);
19.8735 +
19.8736 + if ( state.backtracking==0 ) {
19.8737 +
19.8738 + retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
19.8739 + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
19.8740 + }
19.8741 + }
19.8742 + catch (RecognitionException re) {
19.8743 + reportError(re);
19.8744 + recover(input,re);
19.8745 + retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re);
19.8746 +
19.8747 + }
19.8748 + finally {
19.8749 + }
19.8750 + dbg.location(374, 2);
19.8751 +
19.8752 + }
19.8753 + finally {
19.8754 + dbg.exitRule(getGrammarFileName(), "rewrite_tree_element");
19.8755 + decRuleLevel();
19.8756 + if ( getRuleLevel()==0 ) {dbg.terminate();}
19.8757 + }
19.8758 +
19.8759 + return retval;
19.8760 + }
19.8761 + // $ANTLR end "rewrite_tree_element"
19.8762 +
19.8763 + public static class rewrite_tree_atom_return extends ParserRuleReturnScope {
19.8764 + CommonTree tree;
19.8765 + public Object getTree() { return tree; }
19.8766 + };
19.8767 +
19.8768 + // $ANTLR start "rewrite_tree_atom"
19.8769 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:376:1: rewrite_tree_atom : ( CHAR_LITERAL | TOKEN_REF ( ARG_ACTION )? -> ^( TOKEN_REF ( ARG_ACTION )? ) | RULE_REF | STRING_LITERAL | d= '$' id -> LABEL[$d,$id.text] | ACTION );
19.8770 + public final ANTLRv3Parser.rewrite_tree_atom_return rewrite_tree_atom() throws RecognitionException {
19.8771 + ANTLRv3Parser.rewrite_tree_atom_return retval = new ANTLRv3Parser.rewrite_tree_atom_return();
19.8772 + retval.start = input.LT(1);
19.8773 +
19.8774 + CommonTree root_0 = null;
19.8775 +
19.8776 + Token d=null;
19.8777 + Token CHAR_LITERAL143=null;
19.8778 + Token TOKEN_REF144=null;
19.8779 + Token ARG_ACTION145=null;
19.8780 + Token RULE_REF146=null;
19.8781 + Token STRING_LITERAL147=null;
19.8782 + Token ACTION149=null;
19.8783 + ANTLRv3Parser.id_return id148 = null;
19.8784 +
19.8785 +
19.8786 + CommonTree d_tree=null;
19.8787 + CommonTree CHAR_LITERAL143_tree=null;
19.8788 + CommonTree TOKEN_REF144_tree=null;
19.8789 + CommonTree ARG_ACTION145_tree=null;
19.8790 + CommonTree RULE_REF146_tree=null;
19.8791 + CommonTree STRING_LITERAL147_tree=null;
19.8792 + CommonTree ACTION149_tree=null;
19.8793 + RewriteRuleTokenStream stream_93=new RewriteRuleTokenStream(adaptor,"token 93");
19.8794 + RewriteRuleTokenStream stream_TOKEN_REF=new RewriteRuleTokenStream(adaptor,"token TOKEN_REF");
19.8795 + RewriteRuleTokenStream stream_ARG_ACTION=new RewriteRuleTokenStream(adaptor,"token ARG_ACTION");
19.8796 + RewriteRuleSubtreeStream stream_id=new RewriteRuleSubtreeStream(adaptor,"rule id");
19.8797 + try { dbg.enterRule(getGrammarFileName(), "rewrite_tree_atom");
19.8798 + if ( getRuleLevel()==0 ) {dbg.commence();}
19.8799 + incRuleLevel();
19.8800 + dbg.location(376, 1);
19.8801 +
19.8802 + try {
19.8803 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:377:5: ( CHAR_LITERAL | TOKEN_REF ( ARG_ACTION )? -> ^( TOKEN_REF ( ARG_ACTION )? ) | RULE_REF | STRING_LITERAL | d= '$' id -> LABEL[$d,$id.text] | ACTION )
19.8804 + int alt69=6;
19.8805 + try { dbg.enterDecision(69, decisionCanBacktrack[69]);
19.8806 +
19.8807 + switch ( input.LA(1) ) {
19.8808 + case CHAR_LITERAL:
19.8809 + {
19.8810 + alt69=1;
19.8811 + }
19.8812 + break;
19.8813 + case TOKEN_REF:
19.8814 + {
19.8815 + alt69=2;
19.8816 + }
19.8817 + break;
19.8818 + case RULE_REF:
19.8819 + {
19.8820 + alt69=3;
19.8821 + }
19.8822 + break;
19.8823 + case STRING_LITERAL:
19.8824 + {
19.8825 + alt69=4;
19.8826 + }
19.8827 + break;
19.8828 + case 93:
19.8829 + {
19.8830 + alt69=5;
19.8831 + }
19.8832 + break;
19.8833 + case ACTION:
19.8834 + {
19.8835 + alt69=6;
19.8836 + }
19.8837 + break;
19.8838 + default:
19.8839 + if (state.backtracking>0) {state.failed=true; return retval;}
19.8840 + NoViableAltException nvae =
19.8841 + new NoViableAltException("", 69, 0, input);
19.8842 +
19.8843 + dbg.recognitionException(nvae);
19.8844 + throw nvae;
19.8845 + }
19.8846 +
19.8847 + } finally {dbg.exitDecision(69);}
19.8848 +
19.8849 + switch (alt69) {
19.8850 + case 1 :
19.8851 + dbg.enterAlt(1);
19.8852 +
19.8853 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:377:9: CHAR_LITERAL
19.8854 + {
19.8855 + root_0 = (CommonTree)adaptor.nil();
19.8856 +
19.8857 + dbg.location(377,9);
19.8858 + CHAR_LITERAL143=(Token)match(input,CHAR_LITERAL,FOLLOW_CHAR_LITERAL_in_rewrite_tree_atom2784); if (state.failed) return retval;
19.8859 + if ( state.backtracking==0 ) {
19.8860 + CHAR_LITERAL143_tree = (CommonTree)adaptor.create(CHAR_LITERAL143);
19.8861 + adaptor.addChild(root_0, CHAR_LITERAL143_tree);
19.8862 + }
19.8863 +
19.8864 + }
19.8865 + break;
19.8866 + case 2 :
19.8867 + dbg.enterAlt(2);
19.8868 +
19.8869 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:378:6: TOKEN_REF ( ARG_ACTION )?
19.8870 + {
19.8871 + dbg.location(378,6);
19.8872 + TOKEN_REF144=(Token)match(input,TOKEN_REF,FOLLOW_TOKEN_REF_in_rewrite_tree_atom2791); if (state.failed) return retval;
19.8873 + if ( state.backtracking==0 ) stream_TOKEN_REF.add(TOKEN_REF144);
19.8874 +
19.8875 + dbg.location(378,16);
19.8876 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:378:16: ( ARG_ACTION )?
19.8877 + int alt68=2;
19.8878 + try { dbg.enterSubRule(68);
19.8879 + try { dbg.enterDecision(68, decisionCanBacktrack[68]);
19.8880 +
19.8881 + int LA68_0 = input.LA(1);
19.8882 +
19.8883 + if ( (LA68_0==ARG_ACTION) ) {
19.8884 + alt68=1;
19.8885 + }
19.8886 + } finally {dbg.exitDecision(68);}
19.8887 +
19.8888 + switch (alt68) {
19.8889 + case 1 :
19.8890 + dbg.enterAlt(1);
19.8891 +
19.8892 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:378:16: ARG_ACTION
19.8893 + {
19.8894 + dbg.location(378,16);
19.8895 + ARG_ACTION145=(Token)match(input,ARG_ACTION,FOLLOW_ARG_ACTION_in_rewrite_tree_atom2793); if (state.failed) return retval;
19.8896 + if ( state.backtracking==0 ) stream_ARG_ACTION.add(ARG_ACTION145);
19.8897 +
19.8898 +
19.8899 + }
19.8900 + break;
19.8901 +
19.8902 + }
19.8903 + } finally {dbg.exitSubRule(68);}
19.8904 +
19.8905 +
19.8906 +
19.8907 + // AST REWRITE
19.8908 + // elements: ARG_ACTION, TOKEN_REF
19.8909 + // token labels:
19.8910 + // rule labels: retval
19.8911 + // token list labels:
19.8912 + // rule list labels:
19.8913 + // wildcard labels:
19.8914 + if ( state.backtracking==0 ) {
19.8915 + retval.tree = root_0;
19.8916 + RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);
19.8917 +
19.8918 + root_0 = (CommonTree)adaptor.nil();
19.8919 + // 378:28: -> ^( TOKEN_REF ( ARG_ACTION )? )
19.8920 + {
19.8921 + dbg.location(378,31);
19.8922 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:378:31: ^( TOKEN_REF ( ARG_ACTION )? )
19.8923 + {
19.8924 + CommonTree root_1 = (CommonTree)adaptor.nil();
19.8925 + dbg.location(378,33);
19.8926 + root_1 = (CommonTree)adaptor.becomeRoot(stream_TOKEN_REF.nextNode(), root_1);
19.8927 +
19.8928 + dbg.location(378,43);
19.8929 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:378:43: ( ARG_ACTION )?
19.8930 + if ( stream_ARG_ACTION.hasNext() ) {
19.8931 + dbg.location(378,43);
19.8932 + adaptor.addChild(root_1, stream_ARG_ACTION.nextNode());
19.8933 +
19.8934 + }
19.8935 + stream_ARG_ACTION.reset();
19.8936 +
19.8937 + adaptor.addChild(root_0, root_1);
19.8938 + }
19.8939 +
19.8940 + }
19.8941 +
19.8942 + retval.tree = root_0;}
19.8943 + }
19.8944 + break;
19.8945 + case 3 :
19.8946 + dbg.enterAlt(3);
19.8947 +
19.8948 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:379:9: RULE_REF
19.8949 + {
19.8950 + root_0 = (CommonTree)adaptor.nil();
19.8951 +
19.8952 + dbg.location(379,9);
19.8953 + RULE_REF146=(Token)match(input,RULE_REF,FOLLOW_RULE_REF_in_rewrite_tree_atom2814); if (state.failed) return retval;
19.8954 + if ( state.backtracking==0 ) {
19.8955 + RULE_REF146_tree = (CommonTree)adaptor.create(RULE_REF146);
19.8956 + adaptor.addChild(root_0, RULE_REF146_tree);
19.8957 + }
19.8958 +
19.8959 + }
19.8960 + break;
19.8961 + case 4 :
19.8962 + dbg.enterAlt(4);
19.8963 +
19.8964 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:380:6: STRING_LITERAL
19.8965 + {
19.8966 + root_0 = (CommonTree)adaptor.nil();
19.8967 +
19.8968 + dbg.location(380,6);
19.8969 + STRING_LITERAL147=(Token)match(input,STRING_LITERAL,FOLLOW_STRING_LITERAL_in_rewrite_tree_atom2821); if (state.failed) return retval;
19.8970 + if ( state.backtracking==0 ) {
19.8971 + STRING_LITERAL147_tree = (CommonTree)adaptor.create(STRING_LITERAL147);
19.8972 + adaptor.addChild(root_0, STRING_LITERAL147_tree);
19.8973 + }
19.8974 +
19.8975 + }
19.8976 + break;
19.8977 + case 5 :
19.8978 + dbg.enterAlt(5);
19.8979 +
19.8980 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:381:6: d= '$' id
19.8981 + {
19.8982 + dbg.location(381,7);
19.8983 + d=(Token)match(input,93,FOLLOW_93_in_rewrite_tree_atom2830); if (state.failed) return retval;
19.8984 + if ( state.backtracking==0 ) stream_93.add(d);
19.8985 +
19.8986 + dbg.location(381,12);
19.8987 + pushFollow(FOLLOW_id_in_rewrite_tree_atom2832);
19.8988 + id148=id();
19.8989 +
19.8990 + state._fsp--;
19.8991 + if (state.failed) return retval;
19.8992 + if ( state.backtracking==0 ) stream_id.add(id148.getTree());
19.8993 +
19.8994 +
19.8995 + // AST REWRITE
19.8996 + // elements:
19.8997 + // token labels:
19.8998 + // rule labels: retval
19.8999 + // token list labels:
19.9000 + // rule list labels:
19.9001 + // wildcard labels:
19.9002 + if ( state.backtracking==0 ) {
19.9003 + retval.tree = root_0;
19.9004 + RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);
19.9005 +
19.9006 + root_0 = (CommonTree)adaptor.nil();
19.9007 + // 381:15: -> LABEL[$d,$id.text]
19.9008 + {
19.9009 + dbg.location(381,18);
19.9010 + adaptor.addChild(root_0, (CommonTree)adaptor.create(LABEL, d, (id148!=null?input.toString(id148.start,id148.stop):null)));
19.9011 +
19.9012 + }
19.9013 +
19.9014 + retval.tree = root_0;}
19.9015 + }
19.9016 + break;
19.9017 + case 6 :
19.9018 + dbg.enterAlt(6);
19.9019 +
19.9020 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:382:4: ACTION
19.9021 + {
19.9022 + root_0 = (CommonTree)adaptor.nil();
19.9023 +
19.9024 + dbg.location(382,4);
19.9025 + ACTION149=(Token)match(input,ACTION,FOLLOW_ACTION_in_rewrite_tree_atom2843); if (state.failed) return retval;
19.9026 + if ( state.backtracking==0 ) {
19.9027 + ACTION149_tree = (CommonTree)adaptor.create(ACTION149);
19.9028 + adaptor.addChild(root_0, ACTION149_tree);
19.9029 + }
19.9030 +
19.9031 + }
19.9032 + break;
19.9033 +
19.9034 + }
19.9035 + retval.stop = input.LT(-1);
19.9036 +
19.9037 + if ( state.backtracking==0 ) {
19.9038 +
19.9039 + retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
19.9040 + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
19.9041 + }
19.9042 + }
19.9043 + catch (RecognitionException re) {
19.9044 + reportError(re);
19.9045 + recover(input,re);
19.9046 + retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re);
19.9047 +
19.9048 + }
19.9049 + finally {
19.9050 + }
19.9051 + dbg.location(383, 2);
19.9052 +
19.9053 + }
19.9054 + finally {
19.9055 + dbg.exitRule(getGrammarFileName(), "rewrite_tree_atom");
19.9056 + decRuleLevel();
19.9057 + if ( getRuleLevel()==0 ) {dbg.terminate();}
19.9058 + }
19.9059 +
19.9060 + return retval;
19.9061 + }
19.9062 + // $ANTLR end "rewrite_tree_atom"
19.9063 +
19.9064 + public static class rewrite_tree_ebnf_return extends ParserRuleReturnScope {
19.9065 + CommonTree tree;
19.9066 + public Object getTree() { return tree; }
19.9067 + };
19.9068 +
19.9069 + // $ANTLR start "rewrite_tree_ebnf"
19.9070 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:385:1: rewrite_tree_ebnf : rewrite_tree_block ebnfSuffix -> ^( ebnfSuffix rewrite_tree_block ) ;
19.9071 + public final ANTLRv3Parser.rewrite_tree_ebnf_return rewrite_tree_ebnf() throws RecognitionException {
19.9072 + ANTLRv3Parser.rewrite_tree_ebnf_return retval = new ANTLRv3Parser.rewrite_tree_ebnf_return();
19.9073 + retval.start = input.LT(1);
19.9074 +
19.9075 + CommonTree root_0 = null;
19.9076 +
19.9077 + ANTLRv3Parser.rewrite_tree_block_return rewrite_tree_block150 = null;
19.9078 +
19.9079 + ANTLRv3Parser.ebnfSuffix_return ebnfSuffix151 = null;
19.9080 +
19.9081 +
19.9082 + RewriteRuleSubtreeStream stream_ebnfSuffix=new RewriteRuleSubtreeStream(adaptor,"rule ebnfSuffix");
19.9083 + RewriteRuleSubtreeStream stream_rewrite_tree_block=new RewriteRuleSubtreeStream(adaptor,"rule rewrite_tree_block");
19.9084 +
19.9085 + Token firstToken = input.LT(1);
19.9086 +
19.9087 + try { dbg.enterRule(getGrammarFileName(), "rewrite_tree_ebnf");
19.9088 + if ( getRuleLevel()==0 ) {dbg.commence();}
19.9089 + incRuleLevel();
19.9090 + dbg.location(385, 1);
19.9091 +
19.9092 + try {
19.9093 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:393:2: ( rewrite_tree_block ebnfSuffix -> ^( ebnfSuffix rewrite_tree_block ) )
19.9094 + dbg.enterAlt(1);
19.9095 +
19.9096 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:393:4: rewrite_tree_block ebnfSuffix
19.9097 + {
19.9098 + dbg.location(393,4);
19.9099 + pushFollow(FOLLOW_rewrite_tree_block_in_rewrite_tree_ebnf2864);
19.9100 + rewrite_tree_block150=rewrite_tree_block();
19.9101 +
19.9102 + state._fsp--;
19.9103 + if (state.failed) return retval;
19.9104 + if ( state.backtracking==0 ) stream_rewrite_tree_block.add(rewrite_tree_block150.getTree());
19.9105 + dbg.location(393,23);
19.9106 + pushFollow(FOLLOW_ebnfSuffix_in_rewrite_tree_ebnf2866);
19.9107 + ebnfSuffix151=ebnfSuffix();
19.9108 +
19.9109 + state._fsp--;
19.9110 + if (state.failed) return retval;
19.9111 + if ( state.backtracking==0 ) stream_ebnfSuffix.add(ebnfSuffix151.getTree());
19.9112 +
19.9113 +
19.9114 + // AST REWRITE
19.9115 + // elements: ebnfSuffix, rewrite_tree_block
19.9116 + // token labels:
19.9117 + // rule labels: retval
19.9118 + // token list labels:
19.9119 + // rule list labels:
19.9120 + // wildcard labels:
19.9121 + if ( state.backtracking==0 ) {
19.9122 + retval.tree = root_0;
19.9123 + RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);
19.9124 +
19.9125 + root_0 = (CommonTree)adaptor.nil();
19.9126 + // 393:34: -> ^( ebnfSuffix rewrite_tree_block )
19.9127 + {
19.9128 + dbg.location(393,37);
19.9129 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:393:37: ^( ebnfSuffix rewrite_tree_block )
19.9130 + {
19.9131 + CommonTree root_1 = (CommonTree)adaptor.nil();
19.9132 + dbg.location(393,39);
19.9133 + root_1 = (CommonTree)adaptor.becomeRoot(stream_ebnfSuffix.nextNode(), root_1);
19.9134 +
19.9135 + dbg.location(393,50);
19.9136 + adaptor.addChild(root_1, stream_rewrite_tree_block.nextTree());
19.9137 +
19.9138 + adaptor.addChild(root_0, root_1);
19.9139 + }
19.9140 +
19.9141 + }
19.9142 +
19.9143 + retval.tree = root_0;}
19.9144 + }
19.9145 +
19.9146 + retval.stop = input.LT(-1);
19.9147 +
19.9148 + if ( state.backtracking==0 ) {
19.9149 +
19.9150 + retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
19.9151 + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
19.9152 + }
19.9153 + if ( state.backtracking==0 ) {
19.9154 +
19.9155 + ((CommonTree)retval.tree).getToken().setLine(firstToken.getLine());
19.9156 + ((CommonTree)retval.tree).getToken().setCharPositionInLine(firstToken.getCharPositionInLine());
19.9157 +
19.9158 + }
19.9159 + }
19.9160 + catch (RecognitionException re) {
19.9161 + reportError(re);
19.9162 + recover(input,re);
19.9163 + retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re);
19.9164 +
19.9165 + }
19.9166 + finally {
19.9167 + }
19.9168 + dbg.location(394, 2);
19.9169 +
19.9170 + }
19.9171 + finally {
19.9172 + dbg.exitRule(getGrammarFileName(), "rewrite_tree_ebnf");
19.9173 + decRuleLevel();
19.9174 + if ( getRuleLevel()==0 ) {dbg.terminate();}
19.9175 + }
19.9176 +
19.9177 + return retval;
19.9178 + }
19.9179 + // $ANTLR end "rewrite_tree_ebnf"
19.9180 +
19.9181 + public static class rewrite_tree_return extends ParserRuleReturnScope {
19.9182 + CommonTree tree;
19.9183 + public Object getTree() { return tree; }
19.9184 + };
19.9185 +
19.9186 + // $ANTLR start "rewrite_tree"
19.9187 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:396:1: rewrite_tree : '^(' rewrite_tree_atom ( rewrite_tree_element )* ')' -> ^( TREE_BEGIN rewrite_tree_atom ( rewrite_tree_element )* ) ;
19.9188 + public final ANTLRv3Parser.rewrite_tree_return rewrite_tree() throws RecognitionException {
19.9189 + ANTLRv3Parser.rewrite_tree_return retval = new ANTLRv3Parser.rewrite_tree_return();
19.9190 + retval.start = input.LT(1);
19.9191 +
19.9192 + CommonTree root_0 = null;
19.9193 +
19.9194 + Token string_literal152=null;
19.9195 + Token char_literal155=null;
19.9196 + ANTLRv3Parser.rewrite_tree_atom_return rewrite_tree_atom153 = null;
19.9197 +
19.9198 + ANTLRv3Parser.rewrite_tree_element_return rewrite_tree_element154 = null;
19.9199 +
19.9200 +
19.9201 + CommonTree string_literal152_tree=null;
19.9202 + CommonTree char_literal155_tree=null;
19.9203 + RewriteRuleTokenStream stream_TREE_BEGIN=new RewriteRuleTokenStream(adaptor,"token TREE_BEGIN");
19.9204 + RewriteRuleTokenStream stream_84=new RewriteRuleTokenStream(adaptor,"token 84");
19.9205 + RewriteRuleSubtreeStream stream_rewrite_tree_element=new RewriteRuleSubtreeStream(adaptor,"rule rewrite_tree_element");
19.9206 + RewriteRuleSubtreeStream stream_rewrite_tree_atom=new RewriteRuleSubtreeStream(adaptor,"rule rewrite_tree_atom");
19.9207 + try { dbg.enterRule(getGrammarFileName(), "rewrite_tree");
19.9208 + if ( getRuleLevel()==0 ) {dbg.commence();}
19.9209 + incRuleLevel();
19.9210 + dbg.location(396, 1);
19.9211 +
19.9212 + try {
19.9213 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:397:2: ( '^(' rewrite_tree_atom ( rewrite_tree_element )* ')' -> ^( TREE_BEGIN rewrite_tree_atom ( rewrite_tree_element )* ) )
19.9214 + dbg.enterAlt(1);
19.9215 +
19.9216 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:397:4: '^(' rewrite_tree_atom ( rewrite_tree_element )* ')'
19.9217 + {
19.9218 + dbg.location(397,4);
19.9219 + string_literal152=(Token)match(input,TREE_BEGIN,FOLLOW_TREE_BEGIN_in_rewrite_tree2886); if (state.failed) return retval;
19.9220 + if ( state.backtracking==0 ) stream_TREE_BEGIN.add(string_literal152);
19.9221 +
19.9222 + dbg.location(397,9);
19.9223 + pushFollow(FOLLOW_rewrite_tree_atom_in_rewrite_tree2888);
19.9224 + rewrite_tree_atom153=rewrite_tree_atom();
19.9225 +
19.9226 + state._fsp--;
19.9227 + if (state.failed) return retval;
19.9228 + if ( state.backtracking==0 ) stream_rewrite_tree_atom.add(rewrite_tree_atom153.getTree());
19.9229 + dbg.location(397,27);
19.9230 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:397:27: ( rewrite_tree_element )*
19.9231 + try { dbg.enterSubRule(70);
19.9232 +
19.9233 + loop70:
19.9234 + do {
19.9235 + int alt70=2;
19.9236 + try { dbg.enterDecision(70, decisionCanBacktrack[70]);
19.9237 +
19.9238 + int LA70_0 = input.LA(1);
19.9239 +
19.9240 + if ( (LA70_0==TREE_BEGIN||(LA70_0>=TOKEN_REF && LA70_0<=ACTION)||LA70_0==RULE_REF||LA70_0==82||LA70_0==93) ) {
19.9241 + alt70=1;
19.9242 + }
19.9243 +
19.9244 +
19.9245 + } finally {dbg.exitDecision(70);}
19.9246 +
19.9247 + switch (alt70) {
19.9248 + case 1 :
19.9249 + dbg.enterAlt(1);
19.9250 +
19.9251 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:397:27: rewrite_tree_element
19.9252 + {
19.9253 + dbg.location(397,27);
19.9254 + pushFollow(FOLLOW_rewrite_tree_element_in_rewrite_tree2890);
19.9255 + rewrite_tree_element154=rewrite_tree_element();
19.9256 +
19.9257 + state._fsp--;
19.9258 + if (state.failed) return retval;
19.9259 + if ( state.backtracking==0 ) stream_rewrite_tree_element.add(rewrite_tree_element154.getTree());
19.9260 +
19.9261 + }
19.9262 + break;
19.9263 +
19.9264 + default :
19.9265 + break loop70;
19.9266 + }
19.9267 + } while (true);
19.9268 + } finally {dbg.exitSubRule(70);}
19.9269 +
19.9270 + dbg.location(397,49);
19.9271 + char_literal155=(Token)match(input,84,FOLLOW_84_in_rewrite_tree2893); if (state.failed) return retval;
19.9272 + if ( state.backtracking==0 ) stream_84.add(char_literal155);
19.9273 +
19.9274 +
19.9275 +
19.9276 + // AST REWRITE
19.9277 + // elements: rewrite_tree_element, rewrite_tree_atom
19.9278 + // token labels:
19.9279 + // rule labels: retval
19.9280 + // token list labels:
19.9281 + // rule list labels:
19.9282 + // wildcard labels:
19.9283 + if ( state.backtracking==0 ) {
19.9284 + retval.tree = root_0;
19.9285 + RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);
19.9286 +
19.9287 + root_0 = (CommonTree)adaptor.nil();
19.9288 + // 398:3: -> ^( TREE_BEGIN rewrite_tree_atom ( rewrite_tree_element )* )
19.9289 + {
19.9290 + dbg.location(398,6);
19.9291 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:398:6: ^( TREE_BEGIN rewrite_tree_atom ( rewrite_tree_element )* )
19.9292 + {
19.9293 + CommonTree root_1 = (CommonTree)adaptor.nil();
19.9294 + dbg.location(398,8);
19.9295 + root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(TREE_BEGIN, "TREE_BEGIN"), root_1);
19.9296 +
19.9297 + dbg.location(398,19);
19.9298 + adaptor.addChild(root_1, stream_rewrite_tree_atom.nextTree());
19.9299 + dbg.location(398,37);
19.9300 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:398:37: ( rewrite_tree_element )*
19.9301 + while ( stream_rewrite_tree_element.hasNext() ) {
19.9302 + dbg.location(398,37);
19.9303 + adaptor.addChild(root_1, stream_rewrite_tree_element.nextTree());
19.9304 +
19.9305 + }
19.9306 + stream_rewrite_tree_element.reset();
19.9307 +
19.9308 + adaptor.addChild(root_0, root_1);
19.9309 + }
19.9310 +
19.9311 + }
19.9312 +
19.9313 + retval.tree = root_0;}
19.9314 + }
19.9315 +
19.9316 + retval.stop = input.LT(-1);
19.9317 +
19.9318 + if ( state.backtracking==0 ) {
19.9319 +
19.9320 + retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
19.9321 + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
19.9322 + }
19.9323 + }
19.9324 + catch (RecognitionException re) {
19.9325 + reportError(re);
19.9326 + recover(input,re);
19.9327 + retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re);
19.9328 +
19.9329 + }
19.9330 + finally {
19.9331 + }
19.9332 + dbg.location(399, 2);
19.9333 +
19.9334 + }
19.9335 + finally {
19.9336 + dbg.exitRule(getGrammarFileName(), "rewrite_tree");
19.9337 + decRuleLevel();
19.9338 + if ( getRuleLevel()==0 ) {dbg.terminate();}
19.9339 + }
19.9340 +
19.9341 + return retval;
19.9342 + }
19.9343 + // $ANTLR end "rewrite_tree"
19.9344 +
19.9345 + public static class rewrite_template_return extends ParserRuleReturnScope {
19.9346 + CommonTree tree;
19.9347 + public Object getTree() { return tree; }
19.9348 + };
19.9349 +
19.9350 + // $ANTLR start "rewrite_template"
19.9351 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:401:1: rewrite_template : ( id lp= '(' rewrite_template_args ')' (str= DOUBLE_QUOTE_STRING_LITERAL | str= DOUBLE_ANGLE_STRING_LITERAL ) -> ^( TEMPLATE[$lp,\"TEMPLATE\"] id rewrite_template_args $str) | rewrite_template_ref | rewrite_indirect_template_head | ACTION );
19.9352 + public final ANTLRv3Parser.rewrite_template_return rewrite_template() throws RecognitionException {
19.9353 + ANTLRv3Parser.rewrite_template_return retval = new ANTLRv3Parser.rewrite_template_return();
19.9354 + retval.start = input.LT(1);
19.9355 +
19.9356 + CommonTree root_0 = null;
19.9357 +
19.9358 + Token lp=null;
19.9359 + Token str=null;
19.9360 + Token char_literal158=null;
19.9361 + Token ACTION161=null;
19.9362 + ANTLRv3Parser.id_return id156 = null;
19.9363 +
19.9364 + ANTLRv3Parser.rewrite_template_args_return rewrite_template_args157 = null;
19.9365 +
19.9366 + ANTLRv3Parser.rewrite_template_ref_return rewrite_template_ref159 = null;
19.9367 +
19.9368 + ANTLRv3Parser.rewrite_indirect_template_head_return rewrite_indirect_template_head160 = null;
19.9369 +
19.9370 +
19.9371 + CommonTree lp_tree=null;
19.9372 + CommonTree str_tree=null;
19.9373 + CommonTree char_literal158_tree=null;
19.9374 + CommonTree ACTION161_tree=null;
19.9375 + RewriteRuleTokenStream stream_DOUBLE_QUOTE_STRING_LITERAL=new RewriteRuleTokenStream(adaptor,"token DOUBLE_QUOTE_STRING_LITERAL");
19.9376 + RewriteRuleTokenStream stream_82=new RewriteRuleTokenStream(adaptor,"token 82");
19.9377 + RewriteRuleTokenStream stream_DOUBLE_ANGLE_STRING_LITERAL=new RewriteRuleTokenStream(adaptor,"token DOUBLE_ANGLE_STRING_LITERAL");
19.9378 + RewriteRuleTokenStream stream_84=new RewriteRuleTokenStream(adaptor,"token 84");
19.9379 + RewriteRuleSubtreeStream stream_id=new RewriteRuleSubtreeStream(adaptor,"rule id");
19.9380 + RewriteRuleSubtreeStream stream_rewrite_template_args=new RewriteRuleSubtreeStream(adaptor,"rule rewrite_template_args");
19.9381 + try { dbg.enterRule(getGrammarFileName(), "rewrite_template");
19.9382 + if ( getRuleLevel()==0 ) {dbg.commence();}
19.9383 + incRuleLevel();
19.9384 + dbg.location(401, 1);
19.9385 +
19.9386 + try {
19.9387 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:413:2: ( id lp= '(' rewrite_template_args ')' (str= DOUBLE_QUOTE_STRING_LITERAL | str= DOUBLE_ANGLE_STRING_LITERAL ) -> ^( TEMPLATE[$lp,\"TEMPLATE\"] id rewrite_template_args $str) | rewrite_template_ref | rewrite_indirect_template_head | ACTION )
19.9388 + int alt72=4;
19.9389 + try { dbg.enterDecision(72, decisionCanBacktrack[72]);
19.9390 +
19.9391 + try {
19.9392 + isCyclicDecision = true;
19.9393 + alt72 = dfa72.predict(input);
19.9394 + }
19.9395 + catch (NoViableAltException nvae) {
19.9396 + dbg.recognitionException(nvae);
19.9397 + throw nvae;
19.9398 + }
19.9399 + } finally {dbg.exitDecision(72);}
19.9400 +
19.9401 + switch (alt72) {
19.9402 + case 1 :
19.9403 + dbg.enterAlt(1);
19.9404 +
19.9405 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:414:3: id lp= '(' rewrite_template_args ')' (str= DOUBLE_QUOTE_STRING_LITERAL | str= DOUBLE_ANGLE_STRING_LITERAL )
19.9406 + {
19.9407 + dbg.location(414,3);
19.9408 + pushFollow(FOLLOW_id_in_rewrite_template2925);
19.9409 + id156=id();
19.9410 +
19.9411 + state._fsp--;
19.9412 + if (state.failed) return retval;
19.9413 + if ( state.backtracking==0 ) stream_id.add(id156.getTree());
19.9414 + dbg.location(414,8);
19.9415 + lp=(Token)match(input,82,FOLLOW_82_in_rewrite_template2929); if (state.failed) return retval;
19.9416 + if ( state.backtracking==0 ) stream_82.add(lp);
19.9417 +
19.9418 + dbg.location(414,13);
19.9419 + pushFollow(FOLLOW_rewrite_template_args_in_rewrite_template2931);
19.9420 + rewrite_template_args157=rewrite_template_args();
19.9421 +
19.9422 + state._fsp--;
19.9423 + if (state.failed) return retval;
19.9424 + if ( state.backtracking==0 ) stream_rewrite_template_args.add(rewrite_template_args157.getTree());
19.9425 + dbg.location(414,35);
19.9426 + char_literal158=(Token)match(input,84,FOLLOW_84_in_rewrite_template2933); if (state.failed) return retval;
19.9427 + if ( state.backtracking==0 ) stream_84.add(char_literal158);
19.9428 +
19.9429 + dbg.location(415,3);
19.9430 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:415:3: (str= DOUBLE_QUOTE_STRING_LITERAL | str= DOUBLE_ANGLE_STRING_LITERAL )
19.9431 + int alt71=2;
19.9432 + try { dbg.enterSubRule(71);
19.9433 + try { dbg.enterDecision(71, decisionCanBacktrack[71]);
19.9434 +
19.9435 + int LA71_0 = input.LA(1);
19.9436 +
19.9437 + if ( (LA71_0==DOUBLE_QUOTE_STRING_LITERAL) ) {
19.9438 + alt71=1;
19.9439 + }
19.9440 + else if ( (LA71_0==DOUBLE_ANGLE_STRING_LITERAL) ) {
19.9441 + alt71=2;
19.9442 + }
19.9443 + else {
19.9444 + if (state.backtracking>0) {state.failed=true; return retval;}
19.9445 + NoViableAltException nvae =
19.9446 + new NoViableAltException("", 71, 0, input);
19.9447 +
19.9448 + dbg.recognitionException(nvae);
19.9449 + throw nvae;
19.9450 + }
19.9451 + } finally {dbg.exitDecision(71);}
19.9452 +
19.9453 + switch (alt71) {
19.9454 + case 1 :
19.9455 + dbg.enterAlt(1);
19.9456 +
19.9457 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:415:5: str= DOUBLE_QUOTE_STRING_LITERAL
19.9458 + {
19.9459 + dbg.location(415,8);
19.9460 + str=(Token)match(input,DOUBLE_QUOTE_STRING_LITERAL,FOLLOW_DOUBLE_QUOTE_STRING_LITERAL_in_rewrite_template2941); if (state.failed) return retval;
19.9461 + if ( state.backtracking==0 ) stream_DOUBLE_QUOTE_STRING_LITERAL.add(str);
19.9462 +
19.9463 +
19.9464 + }
19.9465 + break;
19.9466 + case 2 :
19.9467 + dbg.enterAlt(2);
19.9468 +
19.9469 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:415:39: str= DOUBLE_ANGLE_STRING_LITERAL
19.9470 + {
19.9471 + dbg.location(415,42);
19.9472 + str=(Token)match(input,DOUBLE_ANGLE_STRING_LITERAL,FOLLOW_DOUBLE_ANGLE_STRING_LITERAL_in_rewrite_template2947); if (state.failed) return retval;
19.9473 + if ( state.backtracking==0 ) stream_DOUBLE_ANGLE_STRING_LITERAL.add(str);
19.9474 +
19.9475 +
19.9476 + }
19.9477 + break;
19.9478 +
19.9479 + }
19.9480 + } finally {dbg.exitSubRule(71);}
19.9481 +
19.9482 +
19.9483 +
19.9484 + // AST REWRITE
19.9485 + // elements: id, str, rewrite_template_args
19.9486 + // token labels: str
19.9487 + // rule labels: retval
19.9488 + // token list labels:
19.9489 + // rule list labels:
19.9490 + // wildcard labels:
19.9491 + if ( state.backtracking==0 ) {
19.9492 + retval.tree = root_0;
19.9493 + RewriteRuleTokenStream stream_str=new RewriteRuleTokenStream(adaptor,"token str",str);
19.9494 + RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);
19.9495 +
19.9496 + root_0 = (CommonTree)adaptor.nil();
19.9497 + // 416:3: -> ^( TEMPLATE[$lp,\"TEMPLATE\"] id rewrite_template_args $str)
19.9498 + {
19.9499 + dbg.location(416,6);
19.9500 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:416:6: ^( TEMPLATE[$lp,\"TEMPLATE\"] id rewrite_template_args $str)
19.9501 + {
19.9502 + CommonTree root_1 = (CommonTree)adaptor.nil();
19.9503 + dbg.location(416,8);
19.9504 + root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(TEMPLATE, lp, "TEMPLATE"), root_1);
19.9505 +
19.9506 + dbg.location(416,33);
19.9507 + adaptor.addChild(root_1, stream_id.nextTree());
19.9508 + dbg.location(416,36);
19.9509 + adaptor.addChild(root_1, stream_rewrite_template_args.nextTree());
19.9510 + dbg.location(416,58);
19.9511 + adaptor.addChild(root_1, stream_str.nextNode());
19.9512 +
19.9513 + adaptor.addChild(root_0, root_1);
19.9514 + }
19.9515 +
19.9516 + }
19.9517 +
19.9518 + retval.tree = root_0;}
19.9519 + }
19.9520 + break;
19.9521 + case 2 :
19.9522 + dbg.enterAlt(2);
19.9523 +
19.9524 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:419:3: rewrite_template_ref
19.9525 + {
19.9526 + root_0 = (CommonTree)adaptor.nil();
19.9527 +
19.9528 + dbg.location(419,3);
19.9529 + pushFollow(FOLLOW_rewrite_template_ref_in_rewrite_template2974);
19.9530 + rewrite_template_ref159=rewrite_template_ref();
19.9531 +
19.9532 + state._fsp--;
19.9533 + if (state.failed) return retval;
19.9534 + if ( state.backtracking==0 ) adaptor.addChild(root_0, rewrite_template_ref159.getTree());
19.9535 +
19.9536 + }
19.9537 + break;
19.9538 + case 3 :
19.9539 + dbg.enterAlt(3);
19.9540 +
19.9541 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:422:3: rewrite_indirect_template_head
19.9542 + {
19.9543 + root_0 = (CommonTree)adaptor.nil();
19.9544 +
19.9545 + dbg.location(422,3);
19.9546 + pushFollow(FOLLOW_rewrite_indirect_template_head_in_rewrite_template2983);
19.9547 + rewrite_indirect_template_head160=rewrite_indirect_template_head();
19.9548 +
19.9549 + state._fsp--;
19.9550 + if (state.failed) return retval;
19.9551 + if ( state.backtracking==0 ) adaptor.addChild(root_0, rewrite_indirect_template_head160.getTree());
19.9552 +
19.9553 + }
19.9554 + break;
19.9555 + case 4 :
19.9556 + dbg.enterAlt(4);
19.9557 +
19.9558 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:425:3: ACTION
19.9559 + {
19.9560 + root_0 = (CommonTree)adaptor.nil();
19.9561 +
19.9562 + dbg.location(425,3);
19.9563 + ACTION161=(Token)match(input,ACTION,FOLLOW_ACTION_in_rewrite_template2992); if (state.failed) return retval;
19.9564 + if ( state.backtracking==0 ) {
19.9565 + ACTION161_tree = (CommonTree)adaptor.create(ACTION161);
19.9566 + adaptor.addChild(root_0, ACTION161_tree);
19.9567 + }
19.9568 +
19.9569 + }
19.9570 + break;
19.9571 +
19.9572 + }
19.9573 + retval.stop = input.LT(-1);
19.9574 +
19.9575 + if ( state.backtracking==0 ) {
19.9576 +
19.9577 + retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
19.9578 + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
19.9579 + }
19.9580 + }
19.9581 + catch (RecognitionException re) {
19.9582 + reportError(re);
19.9583 + recover(input,re);
19.9584 + retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re);
19.9585 +
19.9586 + }
19.9587 + finally {
19.9588 + }
19.9589 + dbg.location(426, 2);
19.9590 +
19.9591 + }
19.9592 + finally {
19.9593 + dbg.exitRule(getGrammarFileName(), "rewrite_template");
19.9594 + decRuleLevel();
19.9595 + if ( getRuleLevel()==0 ) {dbg.terminate();}
19.9596 + }
19.9597 +
19.9598 + return retval;
19.9599 + }
19.9600 + // $ANTLR end "rewrite_template"
19.9601 +
19.9602 + public static class rewrite_template_ref_return extends ParserRuleReturnScope {
19.9603 + CommonTree tree;
19.9604 + public Object getTree() { return tree; }
19.9605 + };
19.9606 +
19.9607 + // $ANTLR start "rewrite_template_ref"
19.9608 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:428:1: rewrite_template_ref : id lp= '(' rewrite_template_args ')' -> ^( TEMPLATE[$lp,\"TEMPLATE\"] id rewrite_template_args ) ;
19.9609 + public final ANTLRv3Parser.rewrite_template_ref_return rewrite_template_ref() throws RecognitionException {
19.9610 + ANTLRv3Parser.rewrite_template_ref_return retval = new ANTLRv3Parser.rewrite_template_ref_return();
19.9611 + retval.start = input.LT(1);
19.9612 +
19.9613 + CommonTree root_0 = null;
19.9614 +
19.9615 + Token lp=null;
19.9616 + Token char_literal164=null;
19.9617 + ANTLRv3Parser.id_return id162 = null;
19.9618 +
19.9619 + ANTLRv3Parser.rewrite_template_args_return rewrite_template_args163 = null;
19.9620 +
19.9621 +
19.9622 + CommonTree lp_tree=null;
19.9623 + CommonTree char_literal164_tree=null;
19.9624 + RewriteRuleTokenStream stream_82=new RewriteRuleTokenStream(adaptor,"token 82");
19.9625 + RewriteRuleTokenStream stream_84=new RewriteRuleTokenStream(adaptor,"token 84");
19.9626 + RewriteRuleSubtreeStream stream_id=new RewriteRuleSubtreeStream(adaptor,"rule id");
19.9627 + RewriteRuleSubtreeStream stream_rewrite_template_args=new RewriteRuleSubtreeStream(adaptor,"rule rewrite_template_args");
19.9628 + try { dbg.enterRule(getGrammarFileName(), "rewrite_template_ref");
19.9629 + if ( getRuleLevel()==0 ) {dbg.commence();}
19.9630 + incRuleLevel();
19.9631 + dbg.location(428, 1);
19.9632 +
19.9633 + try {
19.9634 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:430:2: ( id lp= '(' rewrite_template_args ')' -> ^( TEMPLATE[$lp,\"TEMPLATE\"] id rewrite_template_args ) )
19.9635 + dbg.enterAlt(1);
19.9636 +
19.9637 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:430:4: id lp= '(' rewrite_template_args ')'
19.9638 + {
19.9639 + dbg.location(430,4);
19.9640 + pushFollow(FOLLOW_id_in_rewrite_template_ref3005);
19.9641 + id162=id();
19.9642 +
19.9643 + state._fsp--;
19.9644 + if (state.failed) return retval;
19.9645 + if ( state.backtracking==0 ) stream_id.add(id162.getTree());
19.9646 + dbg.location(430,9);
19.9647 + lp=(Token)match(input,82,FOLLOW_82_in_rewrite_template_ref3009); if (state.failed) return retval;
19.9648 + if ( state.backtracking==0 ) stream_82.add(lp);
19.9649 +
19.9650 + dbg.location(430,14);
19.9651 + pushFollow(FOLLOW_rewrite_template_args_in_rewrite_template_ref3011);
19.9652 + rewrite_template_args163=rewrite_template_args();
19.9653 +
19.9654 + state._fsp--;
19.9655 + if (state.failed) return retval;
19.9656 + if ( state.backtracking==0 ) stream_rewrite_template_args.add(rewrite_template_args163.getTree());
19.9657 + dbg.location(430,36);
19.9658 + char_literal164=(Token)match(input,84,FOLLOW_84_in_rewrite_template_ref3013); if (state.failed) return retval;
19.9659 + if ( state.backtracking==0 ) stream_84.add(char_literal164);
19.9660 +
19.9661 +
19.9662 +
19.9663 + // AST REWRITE
19.9664 + // elements: id, rewrite_template_args
19.9665 + // token labels:
19.9666 + // rule labels: retval
19.9667 + // token list labels:
19.9668 + // rule list labels:
19.9669 + // wildcard labels:
19.9670 + if ( state.backtracking==0 ) {
19.9671 + retval.tree = root_0;
19.9672 + RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);
19.9673 +
19.9674 + root_0 = (CommonTree)adaptor.nil();
19.9675 + // 431:3: -> ^( TEMPLATE[$lp,\"TEMPLATE\"] id rewrite_template_args )
19.9676 + {
19.9677 + dbg.location(431,6);
19.9678 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:431:6: ^( TEMPLATE[$lp,\"TEMPLATE\"] id rewrite_template_args )
19.9679 + {
19.9680 + CommonTree root_1 = (CommonTree)adaptor.nil();
19.9681 + dbg.location(431,8);
19.9682 + root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(TEMPLATE, lp, "TEMPLATE"), root_1);
19.9683 +
19.9684 + dbg.location(431,33);
19.9685 + adaptor.addChild(root_1, stream_id.nextTree());
19.9686 + dbg.location(431,36);
19.9687 + adaptor.addChild(root_1, stream_rewrite_template_args.nextTree());
19.9688 +
19.9689 + adaptor.addChild(root_0, root_1);
19.9690 + }
19.9691 +
19.9692 + }
19.9693 +
19.9694 + retval.tree = root_0;}
19.9695 + }
19.9696 +
19.9697 + retval.stop = input.LT(-1);
19.9698 +
19.9699 + if ( state.backtracking==0 ) {
19.9700 +
19.9701 + retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
19.9702 + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
19.9703 + }
19.9704 + }
19.9705 + catch (RecognitionException re) {
19.9706 + reportError(re);
19.9707 + recover(input,re);
19.9708 + retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re);
19.9709 +
19.9710 + }
19.9711 + finally {
19.9712 + }
19.9713 + dbg.location(432, 2);
19.9714 +
19.9715 + }
19.9716 + finally {
19.9717 + dbg.exitRule(getGrammarFileName(), "rewrite_template_ref");
19.9718 + decRuleLevel();
19.9719 + if ( getRuleLevel()==0 ) {dbg.terminate();}
19.9720 + }
19.9721 +
19.9722 + return retval;
19.9723 + }
19.9724 + // $ANTLR end "rewrite_template_ref"
19.9725 +
19.9726 + public static class rewrite_indirect_template_head_return extends ParserRuleReturnScope {
19.9727 + CommonTree tree;
19.9728 + public Object getTree() { return tree; }
19.9729 + };
19.9730 +
19.9731 + // $ANTLR start "rewrite_indirect_template_head"
19.9732 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:434:1: rewrite_indirect_template_head : lp= '(' ACTION ')' '(' rewrite_template_args ')' -> ^( TEMPLATE[$lp,\"TEMPLATE\"] ACTION rewrite_template_args ) ;
19.9733 + public final ANTLRv3Parser.rewrite_indirect_template_head_return rewrite_indirect_template_head() throws RecognitionException {
19.9734 + ANTLRv3Parser.rewrite_indirect_template_head_return retval = new ANTLRv3Parser.rewrite_indirect_template_head_return();
19.9735 + retval.start = input.LT(1);
19.9736 +
19.9737 + CommonTree root_0 = null;
19.9738 +
19.9739 + Token lp=null;
19.9740 + Token ACTION165=null;
19.9741 + Token char_literal166=null;
19.9742 + Token char_literal167=null;
19.9743 + Token char_literal169=null;
19.9744 + ANTLRv3Parser.rewrite_template_args_return rewrite_template_args168 = null;
19.9745 +
19.9746 +
19.9747 + CommonTree lp_tree=null;
19.9748 + CommonTree ACTION165_tree=null;
19.9749 + CommonTree char_literal166_tree=null;
19.9750 + CommonTree char_literal167_tree=null;
19.9751 + CommonTree char_literal169_tree=null;
19.9752 + RewriteRuleTokenStream stream_82=new RewriteRuleTokenStream(adaptor,"token 82");
19.9753 + RewriteRuleTokenStream stream_ACTION=new RewriteRuleTokenStream(adaptor,"token ACTION");
19.9754 + RewriteRuleTokenStream stream_84=new RewriteRuleTokenStream(adaptor,"token 84");
19.9755 + RewriteRuleSubtreeStream stream_rewrite_template_args=new RewriteRuleSubtreeStream(adaptor,"rule rewrite_template_args");
19.9756 + try { dbg.enterRule(getGrammarFileName(), "rewrite_indirect_template_head");
19.9757 + if ( getRuleLevel()==0 ) {dbg.commence();}
19.9758 + incRuleLevel();
19.9759 + dbg.location(434, 1);
19.9760 +
19.9761 + try {
19.9762 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:436:2: (lp= '(' ACTION ')' '(' rewrite_template_args ')' -> ^( TEMPLATE[$lp,\"TEMPLATE\"] ACTION rewrite_template_args ) )
19.9763 + dbg.enterAlt(1);
19.9764 +
19.9765 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:436:4: lp= '(' ACTION ')' '(' rewrite_template_args ')'
19.9766 + {
19.9767 + dbg.location(436,6);
19.9768 + lp=(Token)match(input,82,FOLLOW_82_in_rewrite_indirect_template_head3041); if (state.failed) return retval;
19.9769 + if ( state.backtracking==0 ) stream_82.add(lp);
19.9770 +
19.9771 + dbg.location(436,11);
19.9772 + ACTION165=(Token)match(input,ACTION,FOLLOW_ACTION_in_rewrite_indirect_template_head3043); if (state.failed) return retval;
19.9773 + if ( state.backtracking==0 ) stream_ACTION.add(ACTION165);
19.9774 +
19.9775 + dbg.location(436,18);
19.9776 + char_literal166=(Token)match(input,84,FOLLOW_84_in_rewrite_indirect_template_head3045); if (state.failed) return retval;
19.9777 + if ( state.backtracking==0 ) stream_84.add(char_literal166);
19.9778 +
19.9779 + dbg.location(436,22);
19.9780 + char_literal167=(Token)match(input,82,FOLLOW_82_in_rewrite_indirect_template_head3047); if (state.failed) return retval;
19.9781 + if ( state.backtracking==0 ) stream_82.add(char_literal167);
19.9782 +
19.9783 + dbg.location(436,26);
19.9784 + pushFollow(FOLLOW_rewrite_template_args_in_rewrite_indirect_template_head3049);
19.9785 + rewrite_template_args168=rewrite_template_args();
19.9786 +
19.9787 + state._fsp--;
19.9788 + if (state.failed) return retval;
19.9789 + if ( state.backtracking==0 ) stream_rewrite_template_args.add(rewrite_template_args168.getTree());
19.9790 + dbg.location(436,48);
19.9791 + char_literal169=(Token)match(input,84,FOLLOW_84_in_rewrite_indirect_template_head3051); if (state.failed) return retval;
19.9792 + if ( state.backtracking==0 ) stream_84.add(char_literal169);
19.9793 +
19.9794 +
19.9795 +
19.9796 + // AST REWRITE
19.9797 + // elements: ACTION, rewrite_template_args
19.9798 + // token labels:
19.9799 + // rule labels: retval
19.9800 + // token list labels:
19.9801 + // rule list labels:
19.9802 + // wildcard labels:
19.9803 + if ( state.backtracking==0 ) {
19.9804 + retval.tree = root_0;
19.9805 + RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);
19.9806 +
19.9807 + root_0 = (CommonTree)adaptor.nil();
19.9808 + // 437:3: -> ^( TEMPLATE[$lp,\"TEMPLATE\"] ACTION rewrite_template_args )
19.9809 + {
19.9810 + dbg.location(437,6);
19.9811 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:437:6: ^( TEMPLATE[$lp,\"TEMPLATE\"] ACTION rewrite_template_args )
19.9812 + {
19.9813 + CommonTree root_1 = (CommonTree)adaptor.nil();
19.9814 + dbg.location(437,8);
19.9815 + root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(TEMPLATE, lp, "TEMPLATE"), root_1);
19.9816 +
19.9817 + dbg.location(437,33);
19.9818 + adaptor.addChild(root_1, stream_ACTION.nextNode());
19.9819 + dbg.location(437,40);
19.9820 + adaptor.addChild(root_1, stream_rewrite_template_args.nextTree());
19.9821 +
19.9822 + adaptor.addChild(root_0, root_1);
19.9823 + }
19.9824 +
19.9825 + }
19.9826 +
19.9827 + retval.tree = root_0;}
19.9828 + }
19.9829 +
19.9830 + retval.stop = input.LT(-1);
19.9831 +
19.9832 + if ( state.backtracking==0 ) {
19.9833 +
19.9834 + retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
19.9835 + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
19.9836 + }
19.9837 + }
19.9838 + catch (RecognitionException re) {
19.9839 + reportError(re);
19.9840 + recover(input,re);
19.9841 + retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re);
19.9842 +
19.9843 + }
19.9844 + finally {
19.9845 + }
19.9846 + dbg.location(438, 2);
19.9847 +
19.9848 + }
19.9849 + finally {
19.9850 + dbg.exitRule(getGrammarFileName(), "rewrite_indirect_template_head");
19.9851 + decRuleLevel();
19.9852 + if ( getRuleLevel()==0 ) {dbg.terminate();}
19.9853 + }
19.9854 +
19.9855 + return retval;
19.9856 + }
19.9857 + // $ANTLR end "rewrite_indirect_template_head"
19.9858 +
19.9859 + public static class rewrite_template_args_return extends ParserRuleReturnScope {
19.9860 + CommonTree tree;
19.9861 + public Object getTree() { return tree; }
19.9862 + };
19.9863 +
19.9864 + // $ANTLR start "rewrite_template_args"
19.9865 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:440:1: rewrite_template_args : ( rewrite_template_arg ( ',' rewrite_template_arg )* -> ^( ARGLIST ( rewrite_template_arg )+ ) | -> ARGLIST );
19.9866 + public final ANTLRv3Parser.rewrite_template_args_return rewrite_template_args() throws RecognitionException {
19.9867 + ANTLRv3Parser.rewrite_template_args_return retval = new ANTLRv3Parser.rewrite_template_args_return();
19.9868 + retval.start = input.LT(1);
19.9869 +
19.9870 + CommonTree root_0 = null;
19.9871 +
19.9872 + Token char_literal171=null;
19.9873 + ANTLRv3Parser.rewrite_template_arg_return rewrite_template_arg170 = null;
19.9874 +
19.9875 + ANTLRv3Parser.rewrite_template_arg_return rewrite_template_arg172 = null;
19.9876 +
19.9877 +
19.9878 + CommonTree char_literal171_tree=null;
19.9879 + RewriteRuleTokenStream stream_81=new RewriteRuleTokenStream(adaptor,"token 81");
19.9880 + RewriteRuleSubtreeStream stream_rewrite_template_arg=new RewriteRuleSubtreeStream(adaptor,"rule rewrite_template_arg");
19.9881 + try { dbg.enterRule(getGrammarFileName(), "rewrite_template_args");
19.9882 + if ( getRuleLevel()==0 ) {dbg.commence();}
19.9883 + incRuleLevel();
19.9884 + dbg.location(440, 1);
19.9885 +
19.9886 + try {
19.9887 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:441:2: ( rewrite_template_arg ( ',' rewrite_template_arg )* -> ^( ARGLIST ( rewrite_template_arg )+ ) | -> ARGLIST )
19.9888 + int alt74=2;
19.9889 + try { dbg.enterDecision(74, decisionCanBacktrack[74]);
19.9890 +
19.9891 + int LA74_0 = input.LA(1);
19.9892 +
19.9893 + if ( (LA74_0==TOKEN_REF||LA74_0==RULE_REF) ) {
19.9894 + alt74=1;
19.9895 + }
19.9896 + else if ( (LA74_0==84) ) {
19.9897 + alt74=2;
19.9898 + }
19.9899 + else {
19.9900 + if (state.backtracking>0) {state.failed=true; return retval;}
19.9901 + NoViableAltException nvae =
19.9902 + new NoViableAltException("", 74, 0, input);
19.9903 +
19.9904 + dbg.recognitionException(nvae);
19.9905 + throw nvae;
19.9906 + }
19.9907 + } finally {dbg.exitDecision(74);}
19.9908 +
19.9909 + switch (alt74) {
19.9910 + case 1 :
19.9911 + dbg.enterAlt(1);
19.9912 +
19.9913 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:441:4: rewrite_template_arg ( ',' rewrite_template_arg )*
19.9914 + {
19.9915 + dbg.location(441,4);
19.9916 + pushFollow(FOLLOW_rewrite_template_arg_in_rewrite_template_args3075);
19.9917 + rewrite_template_arg170=rewrite_template_arg();
19.9918 +
19.9919 + state._fsp--;
19.9920 + if (state.failed) return retval;
19.9921 + if ( state.backtracking==0 ) stream_rewrite_template_arg.add(rewrite_template_arg170.getTree());
19.9922 + dbg.location(441,25);
19.9923 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:441:25: ( ',' rewrite_template_arg )*
19.9924 + try { dbg.enterSubRule(73);
19.9925 +
19.9926 + loop73:
19.9927 + do {
19.9928 + int alt73=2;
19.9929 + try { dbg.enterDecision(73, decisionCanBacktrack[73]);
19.9930 +
19.9931 + int LA73_0 = input.LA(1);
19.9932 +
19.9933 + if ( (LA73_0==81) ) {
19.9934 + alt73=1;
19.9935 + }
19.9936 +
19.9937 +
19.9938 + } finally {dbg.exitDecision(73);}
19.9939 +
19.9940 + switch (alt73) {
19.9941 + case 1 :
19.9942 + dbg.enterAlt(1);
19.9943 +
19.9944 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:441:26: ',' rewrite_template_arg
19.9945 + {
19.9946 + dbg.location(441,26);
19.9947 + char_literal171=(Token)match(input,81,FOLLOW_81_in_rewrite_template_args3078); if (state.failed) return retval;
19.9948 + if ( state.backtracking==0 ) stream_81.add(char_literal171);
19.9949 +
19.9950 + dbg.location(441,30);
19.9951 + pushFollow(FOLLOW_rewrite_template_arg_in_rewrite_template_args3080);
19.9952 + rewrite_template_arg172=rewrite_template_arg();
19.9953 +
19.9954 + state._fsp--;
19.9955 + if (state.failed) return retval;
19.9956 + if ( state.backtracking==0 ) stream_rewrite_template_arg.add(rewrite_template_arg172.getTree());
19.9957 +
19.9958 + }
19.9959 + break;
19.9960 +
19.9961 + default :
19.9962 + break loop73;
19.9963 + }
19.9964 + } while (true);
19.9965 + } finally {dbg.exitSubRule(73);}
19.9966 +
19.9967 +
19.9968 +
19.9969 + // AST REWRITE
19.9970 + // elements: rewrite_template_arg
19.9971 + // token labels:
19.9972 + // rule labels: retval
19.9973 + // token list labels:
19.9974 + // rule list labels:
19.9975 + // wildcard labels:
19.9976 + if ( state.backtracking==0 ) {
19.9977 + retval.tree = root_0;
19.9978 + RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);
19.9979 +
19.9980 + root_0 = (CommonTree)adaptor.nil();
19.9981 + // 442:3: -> ^( ARGLIST ( rewrite_template_arg )+ )
19.9982 + {
19.9983 + dbg.location(442,6);
19.9984 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:442:6: ^( ARGLIST ( rewrite_template_arg )+ )
19.9985 + {
19.9986 + CommonTree root_1 = (CommonTree)adaptor.nil();
19.9987 + dbg.location(442,8);
19.9988 + root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(ARGLIST, "ARGLIST"), root_1);
19.9989 +
19.9990 + dbg.location(442,16);
19.9991 + if ( !(stream_rewrite_template_arg.hasNext()) ) {
19.9992 + throw new RewriteEarlyExitException();
19.9993 + }
19.9994 + while ( stream_rewrite_template_arg.hasNext() ) {
19.9995 + dbg.location(442,16);
19.9996 + adaptor.addChild(root_1, stream_rewrite_template_arg.nextTree());
19.9997 +
19.9998 + }
19.9999 + stream_rewrite_template_arg.reset();
19.10000 +
19.10001 + adaptor.addChild(root_0, root_1);
19.10002 + }
19.10003 +
19.10004 + }
19.10005 +
19.10006 + retval.tree = root_0;}
19.10007 + }
19.10008 + break;
19.10009 + case 2 :
19.10010 + dbg.enterAlt(2);
19.10011 +
19.10012 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:443:4:
19.10013 + {
19.10014 +
19.10015 + // AST REWRITE
19.10016 + // elements:
19.10017 + // token labels:
19.10018 + // rule labels: retval
19.10019 + // token list labels:
19.10020 + // rule list labels:
19.10021 + // wildcard labels:
19.10022 + if ( state.backtracking==0 ) {
19.10023 + retval.tree = root_0;
19.10024 + RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);
19.10025 +
19.10026 + root_0 = (CommonTree)adaptor.nil();
19.10027 + // 443:4: -> ARGLIST
19.10028 + {
19.10029 + dbg.location(443,7);
19.10030 + adaptor.addChild(root_0, (CommonTree)adaptor.create(ARGLIST, "ARGLIST"));
19.10031 +
19.10032 + }
19.10033 +
19.10034 + retval.tree = root_0;}
19.10035 + }
19.10036 + break;
19.10037 +
19.10038 + }
19.10039 + retval.stop = input.LT(-1);
19.10040 +
19.10041 + if ( state.backtracking==0 ) {
19.10042 +
19.10043 + retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
19.10044 + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
19.10045 + }
19.10046 + }
19.10047 + catch (RecognitionException re) {
19.10048 + reportError(re);
19.10049 + recover(input,re);
19.10050 + retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re);
19.10051 +
19.10052 + }
19.10053 + finally {
19.10054 + }
19.10055 + dbg.location(444, 2);
19.10056 +
19.10057 + }
19.10058 + finally {
19.10059 + dbg.exitRule(getGrammarFileName(), "rewrite_template_args");
19.10060 + decRuleLevel();
19.10061 + if ( getRuleLevel()==0 ) {dbg.terminate();}
19.10062 + }
19.10063 +
19.10064 + return retval;
19.10065 + }
19.10066 + // $ANTLR end "rewrite_template_args"
19.10067 +
19.10068 + public static class rewrite_template_arg_return extends ParserRuleReturnScope {
19.10069 + CommonTree tree;
19.10070 + public Object getTree() { return tree; }
19.10071 + };
19.10072 +
19.10073 + // $ANTLR start "rewrite_template_arg"
19.10074 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:446:1: rewrite_template_arg : id '=' ACTION -> ^( ARG[$id.start] id ACTION ) ;
19.10075 + public final ANTLRv3Parser.rewrite_template_arg_return rewrite_template_arg() throws RecognitionException {
19.10076 + ANTLRv3Parser.rewrite_template_arg_return retval = new ANTLRv3Parser.rewrite_template_arg_return();
19.10077 + retval.start = input.LT(1);
19.10078 +
19.10079 + CommonTree root_0 = null;
19.10080 +
19.10081 + Token char_literal174=null;
19.10082 + Token ACTION175=null;
19.10083 + ANTLRv3Parser.id_return id173 = null;
19.10084 +
19.10085 +
19.10086 + CommonTree char_literal174_tree=null;
19.10087 + CommonTree ACTION175_tree=null;
19.10088 + RewriteRuleTokenStream stream_71=new RewriteRuleTokenStream(adaptor,"token 71");
19.10089 + RewriteRuleTokenStream stream_ACTION=new RewriteRuleTokenStream(adaptor,"token ACTION");
19.10090 + RewriteRuleSubtreeStream stream_id=new RewriteRuleSubtreeStream(adaptor,"rule id");
19.10091 + try { dbg.enterRule(getGrammarFileName(), "rewrite_template_arg");
19.10092 + if ( getRuleLevel()==0 ) {dbg.commence();}
19.10093 + incRuleLevel();
19.10094 + dbg.location(446, 1);
19.10095 +
19.10096 + try {
19.10097 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:447:2: ( id '=' ACTION -> ^( ARG[$id.start] id ACTION ) )
19.10098 + dbg.enterAlt(1);
19.10099 +
19.10100 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:447:6: id '=' ACTION
19.10101 + {
19.10102 + dbg.location(447,6);
19.10103 + pushFollow(FOLLOW_id_in_rewrite_template_arg3113);
19.10104 + id173=id();
19.10105 +
19.10106 + state._fsp--;
19.10107 + if (state.failed) return retval;
19.10108 + if ( state.backtracking==0 ) stream_id.add(id173.getTree());
19.10109 + dbg.location(447,9);
19.10110 + char_literal174=(Token)match(input,71,FOLLOW_71_in_rewrite_template_arg3115); if (state.failed) return retval;
19.10111 + if ( state.backtracking==0 ) stream_71.add(char_literal174);
19.10112 +
19.10113 + dbg.location(447,13);
19.10114 + ACTION175=(Token)match(input,ACTION,FOLLOW_ACTION_in_rewrite_template_arg3117); if (state.failed) return retval;
19.10115 + if ( state.backtracking==0 ) stream_ACTION.add(ACTION175);
19.10116 +
19.10117 +
19.10118 +
19.10119 + // AST REWRITE
19.10120 + // elements: ACTION, id
19.10121 + // token labels:
19.10122 + // rule labels: retval
19.10123 + // token list labels:
19.10124 + // rule list labels:
19.10125 + // wildcard labels:
19.10126 + if ( state.backtracking==0 ) {
19.10127 + retval.tree = root_0;
19.10128 + RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);
19.10129 +
19.10130 + root_0 = (CommonTree)adaptor.nil();
19.10131 + // 447:20: -> ^( ARG[$id.start] id ACTION )
19.10132 + {
19.10133 + dbg.location(447,23);
19.10134 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:447:23: ^( ARG[$id.start] id ACTION )
19.10135 + {
19.10136 + CommonTree root_1 = (CommonTree)adaptor.nil();
19.10137 + dbg.location(447,25);
19.10138 + root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(ARG, (id173!=null?((Token)id173.start):null)), root_1);
19.10139 +
19.10140 + dbg.location(447,40);
19.10141 + adaptor.addChild(root_1, stream_id.nextTree());
19.10142 + dbg.location(447,43);
19.10143 + adaptor.addChild(root_1, stream_ACTION.nextNode());
19.10144 +
19.10145 + adaptor.addChild(root_0, root_1);
19.10146 + }
19.10147 +
19.10148 + }
19.10149 +
19.10150 + retval.tree = root_0;}
19.10151 + }
19.10152 +
19.10153 + retval.stop = input.LT(-1);
19.10154 +
19.10155 + if ( state.backtracking==0 ) {
19.10156 +
19.10157 + retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
19.10158 + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
19.10159 + }
19.10160 + }
19.10161 + catch (RecognitionException re) {
19.10162 + reportError(re);
19.10163 + recover(input,re);
19.10164 + retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re);
19.10165 +
19.10166 + }
19.10167 + finally {
19.10168 + }
19.10169 + dbg.location(448, 2);
19.10170 +
19.10171 + }
19.10172 + finally {
19.10173 + dbg.exitRule(getGrammarFileName(), "rewrite_template_arg");
19.10174 + decRuleLevel();
19.10175 + if ( getRuleLevel()==0 ) {dbg.terminate();}
19.10176 + }
19.10177 +
19.10178 + return retval;
19.10179 + }
19.10180 + // $ANTLR end "rewrite_template_arg"
19.10181 +
19.10182 + public static class id_return extends ParserRuleReturnScope {
19.10183 + CommonTree tree;
19.10184 + public Object getTree() { return tree; }
19.10185 + };
19.10186 +
19.10187 + // $ANTLR start "id"
19.10188 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:450:1: id : ( TOKEN_REF -> ID[$TOKEN_REF] | RULE_REF -> ID[$RULE_REF] );
19.10189 + public final ANTLRv3Parser.id_return id() throws RecognitionException {
19.10190 + ANTLRv3Parser.id_return retval = new ANTLRv3Parser.id_return();
19.10191 + retval.start = input.LT(1);
19.10192 +
19.10193 + CommonTree root_0 = null;
19.10194 +
19.10195 + Token TOKEN_REF176=null;
19.10196 + Token RULE_REF177=null;
19.10197 +
19.10198 + CommonTree TOKEN_REF176_tree=null;
19.10199 + CommonTree RULE_REF177_tree=null;
19.10200 + RewriteRuleTokenStream stream_RULE_REF=new RewriteRuleTokenStream(adaptor,"token RULE_REF");
19.10201 + RewriteRuleTokenStream stream_TOKEN_REF=new RewriteRuleTokenStream(adaptor,"token TOKEN_REF");
19.10202 +
19.10203 + try { dbg.enterRule(getGrammarFileName(), "id");
19.10204 + if ( getRuleLevel()==0 ) {dbg.commence();}
19.10205 + incRuleLevel();
19.10206 + dbg.location(450, 1);
19.10207 +
19.10208 + try {
19.10209 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:450:4: ( TOKEN_REF -> ID[$TOKEN_REF] | RULE_REF -> ID[$RULE_REF] )
19.10210 + int alt75=2;
19.10211 + try { dbg.enterDecision(75, decisionCanBacktrack[75]);
19.10212 +
19.10213 + int LA75_0 = input.LA(1);
19.10214 +
19.10215 + if ( (LA75_0==TOKEN_REF) ) {
19.10216 + alt75=1;
19.10217 + }
19.10218 + else if ( (LA75_0==RULE_REF) ) {
19.10219 + alt75=2;
19.10220 + }
19.10221 + else {
19.10222 + if (state.backtracking>0) {state.failed=true; return retval;}
19.10223 + NoViableAltException nvae =
19.10224 + new NoViableAltException("", 75, 0, input);
19.10225 +
19.10226 + dbg.recognitionException(nvae);
19.10227 + throw nvae;
19.10228 + }
19.10229 + } finally {dbg.exitDecision(75);}
19.10230 +
19.10231 + switch (alt75) {
19.10232 + case 1 :
19.10233 + dbg.enterAlt(1);
19.10234 +
19.10235 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:450:6: TOKEN_REF
19.10236 + {
19.10237 + dbg.location(450,6);
19.10238 + TOKEN_REF176=(Token)match(input,TOKEN_REF,FOLLOW_TOKEN_REF_in_id3138); if (state.failed) return retval;
19.10239 + if ( state.backtracking==0 ) stream_TOKEN_REF.add(TOKEN_REF176);
19.10240 +
19.10241 +
19.10242 +
19.10243 + // AST REWRITE
19.10244 + // elements:
19.10245 + // token labels:
19.10246 + // rule labels: retval
19.10247 + // token list labels:
19.10248 + // rule list labels:
19.10249 + // wildcard labels:
19.10250 + if ( state.backtracking==0 ) {
19.10251 + retval.tree = root_0;
19.10252 + RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);
19.10253 +
19.10254 + root_0 = (CommonTree)adaptor.nil();
19.10255 + // 450:16: -> ID[$TOKEN_REF]
19.10256 + {
19.10257 + dbg.location(450,19);
19.10258 + adaptor.addChild(root_0, (CommonTree)adaptor.create(ID, TOKEN_REF176));
19.10259 +
19.10260 + }
19.10261 +
19.10262 + retval.tree = root_0;}
19.10263 + }
19.10264 + break;
19.10265 + case 2 :
19.10266 + dbg.enterAlt(2);
19.10267 +
19.10268 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:451:4: RULE_REF
19.10269 + {
19.10270 + dbg.location(451,4);
19.10271 + RULE_REF177=(Token)match(input,RULE_REF,FOLLOW_RULE_REF_in_id3148); if (state.failed) return retval;
19.10272 + if ( state.backtracking==0 ) stream_RULE_REF.add(RULE_REF177);
19.10273 +
19.10274 +
19.10275 +
19.10276 + // AST REWRITE
19.10277 + // elements:
19.10278 + // token labels:
19.10279 + // rule labels: retval
19.10280 + // token list labels:
19.10281 + // rule list labels:
19.10282 + // wildcard labels:
19.10283 + if ( state.backtracking==0 ) {
19.10284 + retval.tree = root_0;
19.10285 + RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);
19.10286 +
19.10287 + root_0 = (CommonTree)adaptor.nil();
19.10288 + // 451:14: -> ID[$RULE_REF]
19.10289 + {
19.10290 + dbg.location(451,17);
19.10291 + adaptor.addChild(root_0, (CommonTree)adaptor.create(ID, RULE_REF177));
19.10292 +
19.10293 + }
19.10294 +
19.10295 + retval.tree = root_0;}
19.10296 + }
19.10297 + break;
19.10298 +
19.10299 + }
19.10300 + retval.stop = input.LT(-1);
19.10301 +
19.10302 + if ( state.backtracking==0 ) {
19.10303 +
19.10304 + retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
19.10305 + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
19.10306 + }
19.10307 + }
19.10308 + catch (RecognitionException re) {
19.10309 + reportError(re);
19.10310 + recover(input,re);
19.10311 + retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re);
19.10312 +
19.10313 + }
19.10314 + finally {
19.10315 + }
19.10316 + dbg.location(452, 2);
19.10317 +
19.10318 + }
19.10319 + finally {
19.10320 + dbg.exitRule(getGrammarFileName(), "id");
19.10321 + decRuleLevel();
19.10322 + if ( getRuleLevel()==0 ) {dbg.terminate();}
19.10323 + }
19.10324 +
19.10325 + return retval;
19.10326 + }
19.10327 + // $ANTLR end "id"
19.10328 +
19.10329 + // $ANTLR start synpred1_ANTLRv3
19.10330 + public final void synpred1_ANTLRv3_fragment() throws RecognitionException {
19.10331 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:350:4: ( rewrite_template )
19.10332 + dbg.enterAlt(1);
19.10333 +
19.10334 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:350:4: rewrite_template
19.10335 + {
19.10336 + dbg.location(350,4);
19.10337 + pushFollow(FOLLOW_rewrite_template_in_synpred1_ANTLRv32562);
19.10338 + rewrite_template();
19.10339 +
19.10340 + state._fsp--;
19.10341 + if (state.failed) return ;
19.10342 +
19.10343 + }
19.10344 + }
19.10345 + // $ANTLR end synpred1_ANTLRv3
19.10346 +
19.10347 + // $ANTLR start synpred2_ANTLRv3
19.10348 + public final void synpred2_ANTLRv3_fragment() throws RecognitionException {
19.10349 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:351:4: ( rewrite_tree_alternative )
19.10350 + dbg.enterAlt(1);
19.10351 +
19.10352 + // /Volumes/Mercurial/web-main/contrib/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/ANTLRv3.g:351:4: rewrite_tree_alternative
19.10353 + {
19.10354 + dbg.location(351,4);
19.10355 + pushFollow(FOLLOW_rewrite_tree_alternative_in_synpred2_ANTLRv32567);
19.10356 + rewrite_tree_alternative();
19.10357 +
19.10358 + state._fsp--;
19.10359 + if (state.failed) return ;
19.10360 +
19.10361 + }
19.10362 + }
19.10363 + // $ANTLR end synpred2_ANTLRv3
19.10364 +
19.10365 + // Delegated rules
19.10366 +
19.10367 + public final boolean synpred2_ANTLRv3() {
19.10368 + state.backtracking++;
19.10369 + dbg.beginBacktrack(state.backtracking);
19.10370 + int start = input.mark();
19.10371 + try {
19.10372 + synpred2_ANTLRv3_fragment(); // can never throw exception
19.10373 + } catch (RecognitionException re) {
19.10374 + System.err.println("impossible: "+re);
19.10375 + }
19.10376 + boolean success = !state.failed;
19.10377 + input.rewind(start);
19.10378 + dbg.endBacktrack(state.backtracking, success);
19.10379 + state.backtracking--;
19.10380 + state.failed=false;
19.10381 + return success;
19.10382 + }
19.10383 + public final boolean synpred1_ANTLRv3() {
19.10384 + state.backtracking++;
19.10385 + dbg.beginBacktrack(state.backtracking);
19.10386 + int start = input.mark();
19.10387 + try {
19.10388 + synpred1_ANTLRv3_fragment(); // can never throw exception
19.10389 + } catch (RecognitionException re) {
19.10390 + System.err.println("impossible: "+re);
19.10391 + }
19.10392 + boolean success = !state.failed;
19.10393 + input.rewind(start);
19.10394 + dbg.endBacktrack(state.backtracking, success);
19.10395 + state.backtracking--;
19.10396 + state.failed=false;
19.10397 + return success;
19.10398 + }
19.10399 +
19.10400 +
19.10401 + protected DFA46 dfa46 = new DFA46(this);
19.10402 + protected DFA64 dfa64 = new DFA64(this);
19.10403 + protected DFA67 dfa67 = new DFA67(this);
19.10404 + protected DFA72 dfa72 = new DFA72(this);
19.10405 + static final String DFA46_eotS =
19.10406 + "\14\uffff";
19.10407 + static final String DFA46_eofS =
19.10408 + "\14\uffff";
19.10409 + static final String DFA46_minS =
19.10410 + "\3\40\5\uffff\2\52\2\uffff";
19.10411 + static final String DFA46_maxS =
19.10412 + "\3\134\5\uffff\2\134\2\uffff";
19.10413 + static final String DFA46_acceptS =
19.10414 + "\3\uffff\1\3\1\4\1\5\1\6\1\7\2\uffff\1\1\1\2";
19.10415 + static final String DFA46_specialS =
19.10416 + "\14\uffff}>";
19.10417 + static final String[] DFA46_transitionS = {
19.10418 + "\1\6\4\uffff\1\7\4\uffff\1\1\2\3\1\5\3\uffff\1\2\40\uffff\1"+
19.10419 + "\4\6\uffff\1\3\2\uffff\1\3",
19.10420 + "\1\3\4\uffff\4\3\1\uffff\4\3\2\uffff\2\3\23\uffff\1\3\1\uffff"+
19.10421 + "\1\10\2\uffff\1\3\7\uffff\3\3\2\uffff\1\11\1\uffff\4\3",
19.10422 + "\1\3\4\uffff\4\3\1\uffff\4\3\2\uffff\2\3\23\uffff\1\3\1\uffff"+
19.10423 + "\1\10\2\uffff\1\3\7\uffff\3\3\2\uffff\1\11\1\uffff\4\3",
19.10424 + "",
19.10425 + "",
19.10426 + "",
19.10427 + "",
19.10428 + "",
19.10429 + "\3\12\4\uffff\1\12\40\uffff\1\13\6\uffff\1\12\2\uffff\1\12",
19.10430 + "\3\12\4\uffff\1\12\40\uffff\1\13\6\uffff\1\12\2\uffff\1\12",
19.10431 + "",
19.10432 + ""
19.10433 + };
19.10434 +
19.10435 + static final short[] DFA46_eot = DFA.unpackEncodedString(DFA46_eotS);
19.10436 + static final short[] DFA46_eof = DFA.unpackEncodedString(DFA46_eofS);
19.10437 + static final char[] DFA46_min = DFA.unpackEncodedStringToUnsignedChars(DFA46_minS);
19.10438 + static final char[] DFA46_max = DFA.unpackEncodedStringToUnsignedChars(DFA46_maxS);
19.10439 + static final short[] DFA46_accept = DFA.unpackEncodedString(DFA46_acceptS);
19.10440 + static final short[] DFA46_special = DFA.unpackEncodedString(DFA46_specialS);
19.10441 + static final short[][] DFA46_transition;
19.10442 +
19.10443 + static {
19.10444 + int numStates = DFA46_transitionS.length;
19.10445 + DFA46_transition = new short[numStates][];
19.10446 + for (int i=0; i<numStates; i++) {
19.10447 + DFA46_transition[i] = DFA.unpackEncodedString(DFA46_transitionS[i]);
19.10448 + }
19.10449 + }
19.10450 +
19.10451 + class DFA46 extends DFA {
19.10452 +
19.10453 + public DFA46(BaseRecognizer recognizer) {
19.10454 + this.recognizer = recognizer;
19.10455 + this.decisionNumber = 46;
19.10456 + this.eot = DFA46_eot;
19.10457 + this.eof = DFA46_eof;
19.10458 + this.min = DFA46_min;
19.10459 + this.max = DFA46_max;
19.10460 + this.accept = DFA46_accept;
19.10461 + this.special = DFA46_special;
19.10462 + this.transition = DFA46_transition;
19.10463 + }
19.10464 + public String getDescription() {
19.10465 + return "233:1: elementNoOptionSpec : ( id (labelOp= '=' | labelOp= '+=' ) atom ( ebnfSuffix -> ^( ebnfSuffix ^( BLOCK[\"BLOCK\"] ^( ALT[\"ALT\"] ^( $labelOp id atom ) EOA[\"EOA\"] ) EOB[\"EOB\"] ) ) | -> ^( $labelOp id atom ) ) | id (labelOp= '=' | labelOp= '+=' ) block ( ebnfSuffix -> ^( ebnfSuffix ^( BLOCK[\"BLOCK\"] ^( ALT[\"ALT\"] ^( $labelOp id block ) EOA[\"EOA\"] ) EOB[\"EOB\"] ) ) | -> ^( $labelOp id block ) ) | atom ( ebnfSuffix -> ^( ebnfSuffix ^( BLOCK[\"BLOCK\"] ^( ALT[\"ALT\"] atom EOA[\"EOA\"] ) EOB[\"EOB\"] ) ) | -> atom ) | ebnf | ACTION | SEMPRED ( '=>' -> GATED_SEMPRED | -> SEMPRED ) | treeSpec ( ebnfSuffix -> ^( ebnfSuffix ^( BLOCK[\"BLOCK\"] ^( ALT[\"ALT\"] treeSpec EOA[\"EOA\"] ) EOB[\"EOB\"] ) ) | -> treeSpec ) );";
19.10466 + }
19.10467 + public void error(NoViableAltException nvae) {
19.10468 + dbg.recognitionException(nvae);
19.10469 + }
19.10470 + }
19.10471 + static final String DFA64_eotS =
19.10472 + "\15\uffff";
19.10473 + static final String DFA64_eofS =
19.10474 + "\15\uffff";
19.10475 + static final String DFA64_minS =
19.10476 + "\4\45\1\0\2\uffff\2\45\1\uffff\2\45\1\112";
19.10477 + static final String DFA64_maxS =
19.10478 + "\4\135\1\0\2\uffff\2\135\1\uffff\2\135\1\133";
19.10479 + static final String DFA64_acceptS =
19.10480 + "\5\uffff\1\2\1\3\2\uffff\1\1\3\uffff";
19.10481 + static final String DFA64_specialS =
19.10482 + "\4\uffff\1\0\10\uffff}>";
19.10483 + static final String[] DFA64_transitionS = {
19.10484 + "\1\5\2\uffff\1\6\1\uffff\1\1\2\5\1\4\3\uffff\1\2\23\uffff\1"+
19.10485 + "\6\14\uffff\1\3\2\6\10\uffff\1\5",
19.10486 + "\1\5\2\uffff\1\5\1\uffff\4\5\2\uffff\2\5\23\uffff\1\5\4\uffff"+
19.10487 + "\1\5\7\uffff\1\7\2\5\5\uffff\2\5\1\uffff\1\5",
19.10488 + "\1\5\2\uffff\1\5\1\uffff\4\5\3\uffff\1\5\23\uffff\1\5\4\uffff"+
19.10489 + "\1\5\7\uffff\1\7\2\5\5\uffff\2\5\1\uffff\1\5",
19.10490 + "\1\5\4\uffff\3\5\1\10\3\uffff\1\5\40\uffff\1\5\12\uffff\1\5",
19.10491 + "\1\uffff",
19.10492 + "",
19.10493 + "",
19.10494 + "\1\5\4\uffff\1\12\3\5\3\uffff\1\13\40\uffff\1\5\1\uffff\1\11"+
19.10495 + "\10\uffff\1\5",
19.10496 + "\1\5\4\uffff\4\5\3\uffff\1\5\30\uffff\1\5\7\uffff\1\5\1\uffff"+
19.10497 + "\1\14\5\uffff\2\5\1\uffff\1\5",
19.10498 + "",
19.10499 + "\1\5\4\uffff\4\5\2\uffff\2\5\25\uffff\1\11\2\uffff\1\5\7\uffff"+
19.10500 + "\1\5\1\uffff\1\5\5\uffff\2\5\1\uffff\1\5",
19.10501 + "\1\5\4\uffff\4\5\3\uffff\1\5\25\uffff\1\11\2\uffff\1\5\7\uffff"+
19.10502 + "\1\5\1\uffff\1\5\5\uffff\2\5\1\uffff\1\5",
19.10503 + "\1\5\7\uffff\1\11\7\uffff\2\5"
19.10504 + };
19.10505 +
19.10506 + static final short[] DFA64_eot = DFA.unpackEncodedString(DFA64_eotS);
19.10507 + static final short[] DFA64_eof = DFA.unpackEncodedString(DFA64_eofS);
19.10508 + static final char[] DFA64_min = DFA.unpackEncodedStringToUnsignedChars(DFA64_minS);
19.10509 + static final char[] DFA64_max = DFA.unpackEncodedStringToUnsignedChars(DFA64_maxS);
19.10510 + static final short[] DFA64_accept = DFA.unpackEncodedString(DFA64_acceptS);
19.10511 + static final short[] DFA64_special = DFA.unpackEncodedString(DFA64_specialS);
19.10512 + static final short[][] DFA64_transition;
19.10513 +
19.10514 + static {
19.10515 + int numStates = DFA64_transitionS.length;
19.10516 + DFA64_transition = new short[numStates][];
19.10517 + for (int i=0; i<numStates; i++) {
19.10518 + DFA64_transition[i] = DFA.unpackEncodedString(DFA64_transitionS[i]);
19.10519 + }
19.10520 + }
19.10521 +
19.10522 + class DFA64 extends DFA {
19.10523 +
19.10524 + public DFA64(BaseRecognizer recognizer) {
19.10525 + this.recognizer = recognizer;
19.10526 + this.decisionNumber = 64;
19.10527 + this.eot = DFA64_eot;
19.10528 + this.eof = DFA64_eof;
19.10529 + this.min = DFA64_min;
19.10530 + this.max = DFA64_max;
19.10531 + this.accept = DFA64_accept;
19.10532 + this.special = DFA64_special;
19.10533 + this.transition = DFA64_transition;
19.10534 + }
19.10535 + public String getDescription() {
19.10536 + return "348:1: rewrite_alternative options {backtrack=true; } : ( rewrite_template | rewrite_tree_alternative | -> ^( ALT[\"ALT\"] EPSILON[\"EPSILON\"] EOA[\"EOA\"] ) );";
19.10537 + }
19.10538 + public void error(NoViableAltException nvae) {
19.10539 + dbg.recognitionException(nvae);
19.10540 + }
19.10541 + public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
19.10542 + TokenStream input = (TokenStream)_input;
19.10543 + int _s = s;
19.10544 + switch ( s ) {
19.10545 + case 0 :
19.10546 + int LA64_4 = input.LA(1);
19.10547 +
19.10548 +
19.10549 + int index64_4 = input.index();
19.10550 + input.rewind();
19.10551 + s = -1;
19.10552 + if ( (synpred1_ANTLRv3()) ) {s = 9;}
19.10553 +
19.10554 + else if ( (synpred2_ANTLRv3()) ) {s = 5;}
19.10555 +
19.10556 +
19.10557 + input.seek(index64_4);
19.10558 + if ( s>=0 ) return s;
19.10559 + break;
19.10560 + }
19.10561 + if (state.backtracking>0) {state.failed=true; return -1;}
19.10562 + NoViableAltException nvae =
19.10563 + new NoViableAltException(getDescription(), 64, _s, input);
19.10564 + error(nvae);
19.10565 + throw nvae;
19.10566 + }
19.10567 + }
19.10568 + static final String DFA67_eotS =
19.10569 + "\16\uffff";
19.10570 + static final String DFA67_eofS =
19.10571 + "\1\uffff\4\11\1\uffff\1\11\4\uffff\3\11";
19.10572 + static final String DFA67_minS =
19.10573 + "\5\45\1\52\1\45\4\uffff\3\45";
19.10574 + static final String DFA67_maxS =
19.10575 + "\5\135\1\61\1\135\4\uffff\3\135";
19.10576 + static final String DFA67_acceptS =
19.10577 + "\7\uffff\1\3\1\4\1\1\1\2\3\uffff";
19.10578 + static final String DFA67_specialS =
19.10579 + "\16\uffff}>";
19.10580 + static final String[] DFA67_transitionS = {
19.10581 + "\1\7\4\uffff\1\2\1\4\1\1\1\6\3\uffff\1\3\40\uffff\1\10\12\uffff"+
19.10582 + "\1\5",
19.10583 + "\1\11\2\uffff\1\11\1\uffff\4\11\3\uffff\1\11\23\uffff\1\11"+
19.10584 + "\4\uffff\1\12\7\uffff\3\11\5\uffff\2\12\1\uffff\1\11",
19.10585 + "\1\11\2\uffff\1\11\1\uffff\4\11\2\uffff\1\13\1\11\23\uffff"+
19.10586 + "\1\11\4\uffff\1\12\7\uffff\3\11\5\uffff\2\12\1\uffff\1\11",
19.10587 + "\1\11\2\uffff\1\11\1\uffff\4\11\3\uffff\1\11\23\uffff\1\11"+
19.10588 + "\4\uffff\1\12\7\uffff\3\11\5\uffff\2\12\1\uffff\1\11",
19.10589 + "\1\11\2\uffff\1\11\1\uffff\4\11\3\uffff\1\11\23\uffff\1\11"+
19.10590 + "\4\uffff\1\12\7\uffff\3\11\5\uffff\2\12\1\uffff\1\11",
19.10591 + "\1\14\6\uffff\1\15",
19.10592 + "\1\11\2\uffff\1\11\1\uffff\4\11\3\uffff\1\11\23\uffff\1\11"+
19.10593 + "\4\uffff\1\12\7\uffff\3\11\5\uffff\2\12\1\uffff\1\11",
19.10594 + "",
19.10595 + "",
19.10596 + "",
19.10597 + "",
19.10598 + "\1\11\2\uffff\1\11\1\uffff\4\11\3\uffff\1\11\23\uffff\1\11"+
19.10599 + "\4\uffff\1\12\7\uffff\3\11\5\uffff\2\12\1\uffff\1\11",
19.10600 + "\1\11\2\uffff\1\11\1\uffff\4\11\3\uffff\1\11\23\uffff\1\11"+
19.10601 + "\4\uffff\1\12\7\uffff\3\11\5\uffff\2\12\1\uffff\1\11",
19.10602 + "\1\11\2\uffff\1\11\1\uffff\4\11\3\uffff\1\11\23\uffff\1\11"+
19.10603 + "\4\uffff\1\12\7\uffff\3\11\5\uffff\2\12\1\uffff\1\11"
19.10604 + };
19.10605 +
19.10606 + static final short[] DFA67_eot = DFA.unpackEncodedString(DFA67_eotS);
19.10607 + static final short[] DFA67_eof = DFA.unpackEncodedString(DFA67_eofS);
19.10608 + static final char[] DFA67_min = DFA.unpackEncodedStringToUnsignedChars(DFA67_minS);
19.10609 + static final char[] DFA67_max = DFA.unpackEncodedStringToUnsignedChars(DFA67_maxS);
19.10610 + static final short[] DFA67_accept = DFA.unpackEncodedString(DFA67_acceptS);
19.10611 + static final short[] DFA67_special = DFA.unpackEncodedString(DFA67_specialS);
19.10612 + static final short[][] DFA67_transition;
19.10613 +
19.10614 + static {
19.10615 + int numStates = DFA67_transitionS.length;
19.10616 + DFA67_transition = new short[numStates][];
19.10617 + for (int i=0; i<numStates; i++) {
19.10618 + DFA67_transition[i] = DFA.unpackEncodedString(DFA67_transitionS[i]);
19.10619 + }
19.10620 + }
19.10621 +
19.10622 + class DFA67 extends DFA {
19.10623 +
19.10624 + public DFA67(BaseRecognizer recognizer) {
19.10625 + this.recognizer = recognizer;
19.10626 + this.decisionNumber = 67;
19.10627 + this.eot = DFA67_eot;
19.10628 + this.eof = DFA67_eof;
19.10629 + this.min = DFA67_min;
19.10630 + this.max = DFA67_max;
19.10631 + this.accept = DFA67_accept;
19.10632 + this.special = DFA67_special;
19.10633 + this.transition = DFA67_transition;
19.10634 + }
19.10635 + public String getDescription() {
19.10636 + return "364:1: rewrite_tree_element : ( rewrite_tree_atom | rewrite_tree_atom ebnfSuffix -> ^( ebnfSuffix ^( BLOCK[\"BLOCK\"] ^( ALT[\"ALT\"] rewrite_tree_atom EOA[\"EOA\"] ) EOB[\"EOB\"] ) ) | rewrite_tree ( ebnfSuffix -> ^( ebnfSuffix ^( BLOCK[\"BLOCK\"] ^( ALT[\"ALT\"] rewrite_tree EOA[\"EOA\"] ) EOB[\"EOB\"] ) ) | -> rewrite_tree ) | rewrite_tree_ebnf );";
19.10637 + }
19.10638 + public void error(NoViableAltException nvae) {
19.10639 + dbg.recognitionException(nvae);
19.10640 + }
19.10641 + }
19.10642 + static final String DFA72_eotS =
19.10643 + "\22\uffff";
19.10644 + static final String DFA72_eofS =
19.10645 + "\10\uffff\1\13\11\uffff";
19.10646 + static final String DFA72_minS =
19.10647 + "\1\52\2\122\2\uffff\1\52\2\107\1\50\1\55\2\uffff\1\121\1\52\2\107"+
19.10648 + "\1\55\1\121";
19.10649 + static final String DFA72_maxS =
19.10650 + "\3\122\2\uffff\1\124\2\107\1\124\1\55\2\uffff\1\124\1\61\2\107\1"+
19.10651 + "\55\1\124";
19.10652 + static final String DFA72_acceptS =
19.10653 + "\3\uffff\1\3\1\4\5\uffff\1\1\1\2\6\uffff";
19.10654 + static final String DFA72_specialS =
19.10655 + "\22\uffff}>";
19.10656 + static final String[] DFA72_transitionS = {
19.10657 + "\1\1\2\uffff\1\4\3\uffff\1\2\40\uffff\1\3",
19.10658 + "\1\5",
19.10659 + "\1\5",
19.10660 + "",
19.10661 + "",
19.10662 + "\1\6\6\uffff\1\7\42\uffff\1\10",
19.10663 + "\1\11",
19.10664 + "\1\11",
19.10665 + "\1\13\11\uffff\2\12\21\uffff\1\13\15\uffff\2\13",
19.10666 + "\1\14",
19.10667 + "",
19.10668 + "",
19.10669 + "\1\15\2\uffff\1\10",
19.10670 + "\1\16\6\uffff\1\17",
19.10671 + "\1\20",
19.10672 + "\1\20",
19.10673 + "\1\21",
19.10674 + "\1\15\2\uffff\1\10"
19.10675 + };
19.10676 +
19.10677 + static final short[] DFA72_eot = DFA.unpackEncodedString(DFA72_eotS);
19.10678 + static final short[] DFA72_eof = DFA.unpackEncodedString(DFA72_eofS);
19.10679 + static final char[] DFA72_min = DFA.unpackEncodedStringToUnsignedChars(DFA72_minS);
19.10680 + static final char[] DFA72_max = DFA.unpackEncodedStringToUnsignedChars(DFA72_maxS);
19.10681 + static final short[] DFA72_accept = DFA.unpackEncodedString(DFA72_acceptS);
19.10682 + static final short[] DFA72_special = DFA.unpackEncodedString(DFA72_specialS);
19.10683 + static final short[][] DFA72_transition;
19.10684 +
19.10685 + static {
19.10686 + int numStates = DFA72_transitionS.length;
19.10687 + DFA72_transition = new short[numStates][];
19.10688 + for (int i=0; i<numStates; i++) {
19.10689 + DFA72_transition[i] = DFA.unpackEncodedString(DFA72_transitionS[i]);
19.10690 + }
19.10691 + }
19.10692 +
19.10693 + class DFA72 extends DFA {
19.10694 +
19.10695 + public DFA72(BaseRecognizer recognizer) {
19.10696 + this.recognizer = recognizer;
19.10697 + this.decisionNumber = 72;
19.10698 + this.eot = DFA72_eot;
19.10699 + this.eof = DFA72_eof;
19.10700 + this.min = DFA72_min;
19.10701 + this.max = DFA72_max;
19.10702 + this.accept = DFA72_accept;
19.10703 + this.special = DFA72_special;
19.10704 + this.transition = DFA72_transition;
19.10705 + }
19.10706 + public String getDescription() {
19.10707 + return "401:1: rewrite_template : ( id lp= '(' rewrite_template_args ')' (str= DOUBLE_QUOTE_STRING_LITERAL | str= DOUBLE_ANGLE_STRING_LITERAL ) -> ^( TEMPLATE[$lp,\"TEMPLATE\"] id rewrite_template_args $str) | rewrite_template_ref | rewrite_indirect_template_head | ACTION );";
19.10708 + }
19.10709 + public void error(NoViableAltException nvae) {
19.10710 + dbg.recognitionException(nvae);
19.10711 + }
19.10712 + }
19.10713 +
19.10714 +
19.10715 + public static final BitSet FOLLOW_DOC_COMMENT_in_grammarDef343 = new BitSet(new long[]{0x0000000000000000L,0x000000000000001EL});
19.10716 + public static final BitSet FOLLOW_65_in_grammarDef353 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000010L});
19.10717 + public static final BitSet FOLLOW_66_in_grammarDef371 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000010L});
19.10718 + public static final BitSet FOLLOW_67_in_grammarDef387 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000010L});
19.10719 + public static final BitSet FOLLOW_68_in_grammarDef428 = new BitSet(new long[]{0x0002040000000000L});
19.10720 + public static final BitSet FOLLOW_id_in_grammarDef430 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000020L});
19.10721 + public static final BitSet FOLLOW_69_in_grammarDef432 = new BitSet(new long[]{0x0002461080000010L,0x0000000000003900L});
19.10722 + public static final BitSet FOLLOW_optionsSpec_in_grammarDef434 = new BitSet(new long[]{0x0002461080000010L,0x0000000000003900L});
19.10723 + public static final BitSet FOLLOW_tokensSpec_in_grammarDef437 = new BitSet(new long[]{0x0002461080000010L,0x0000000000003900L});
19.10724 + public static final BitSet FOLLOW_attrScope_in_grammarDef440 = new BitSet(new long[]{0x0002461080000010L,0x0000000000003900L});
19.10725 + public static final BitSet FOLLOW_action_in_grammarDef443 = new BitSet(new long[]{0x0002461080000010L,0x0000000000003900L});
19.10726 + public static final BitSet FOLLOW_rule_in_grammarDef451 = new BitSet(new long[]{0x0002461080000010L,0x0000000000003900L});
19.10727 + public static final BitSet FOLLOW_EOF_in_grammarDef459 = new BitSet(new long[]{0x0000000000000002L});
19.10728 + public static final BitSet FOLLOW_TOKENS_in_tokensSpec520 = new BitSet(new long[]{0x0000040000000000L});
19.10729 + public static final BitSet FOLLOW_tokenSpec_in_tokensSpec522 = new BitSet(new long[]{0x0000040000000000L,0x0000000000000040L});
19.10730 + public static final BitSet FOLLOW_70_in_tokensSpec525 = new BitSet(new long[]{0x0000000000000002L});
19.10731 + public static final BitSet FOLLOW_TOKEN_REF_in_tokenSpec545 = new BitSet(new long[]{0x0000000000000000L,0x00000000000000A0L});
19.10732 + public static final BitSet FOLLOW_71_in_tokenSpec551 = new BitSet(new long[]{0x0000180000000000L});
19.10733 + public static final BitSet FOLLOW_STRING_LITERAL_in_tokenSpec556 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000020L});
19.10734 + public static final BitSet FOLLOW_CHAR_LITERAL_in_tokenSpec560 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000020L});
19.10735 + public static final BitSet FOLLOW_69_in_tokenSpec599 = new BitSet(new long[]{0x0000000000000002L});
19.10736 + public static final BitSet FOLLOW_SCOPE_in_attrScope610 = new BitSet(new long[]{0x0002040000000000L});
19.10737 + public static final BitSet FOLLOW_id_in_attrScope612 = new BitSet(new long[]{0x0000200000000000L});
19.10738 + public static final BitSet FOLLOW_ACTION_in_attrScope614 = new BitSet(new long[]{0x0000000000000002L});
19.10739 + public static final BitSet FOLLOW_72_in_action637 = new BitSet(new long[]{0x0002040000000000L,0x0000000000000006L});
19.10740 + public static final BitSet FOLLOW_actionScopeName_in_action640 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000200L});
19.10741 + public static final BitSet FOLLOW_73_in_action642 = new BitSet(new long[]{0x0002040000000000L});
19.10742 + public static final BitSet FOLLOW_id_in_action646 = new BitSet(new long[]{0x0000200000000000L});
19.10743 + public static final BitSet FOLLOW_ACTION_in_action648 = new BitSet(new long[]{0x0000000000000002L});
19.10744 + public static final BitSet FOLLOW_id_in_actionScopeName674 = new BitSet(new long[]{0x0000000000000002L});
19.10745 + public static final BitSet FOLLOW_65_in_actionScopeName681 = new BitSet(new long[]{0x0000000000000002L});
19.10746 + public static final BitSet FOLLOW_66_in_actionScopeName698 = new BitSet(new long[]{0x0000000000000002L});
19.10747 + public static final BitSet FOLLOW_OPTIONS_in_optionsSpec714 = new BitSet(new long[]{0x0002040000000000L});
19.10748 + public static final BitSet FOLLOW_option_in_optionsSpec717 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000020L});
19.10749 + public static final BitSet FOLLOW_69_in_optionsSpec719 = new BitSet(new long[]{0x0002040000000000L,0x0000000000000040L});
19.10750 + public static final BitSet FOLLOW_70_in_optionsSpec723 = new BitSet(new long[]{0x0000000000000002L});
19.10751 + public static final BitSet FOLLOW_id_in_option748 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000080L});
19.10752 + public static final BitSet FOLLOW_71_in_option750 = new BitSet(new long[]{0x00029C0000000000L,0x0000000000000400L});
19.10753 + public static final BitSet FOLLOW_optionValue_in_option752 = new BitSet(new long[]{0x0000000000000002L});
19.10754 + public static final BitSet FOLLOW_id_in_optionValue781 = new BitSet(new long[]{0x0000000000000002L});
19.10755 + public static final BitSet FOLLOW_STRING_LITERAL_in_optionValue791 = new BitSet(new long[]{0x0000000000000002L});
19.10756 + public static final BitSet FOLLOW_CHAR_LITERAL_in_optionValue801 = new BitSet(new long[]{0x0000000000000002L});
19.10757 + public static final BitSet FOLLOW_INT_in_optionValue811 = new BitSet(new long[]{0x0000000000000002L});
19.10758 + public static final BitSet FOLLOW_74_in_optionValue821 = new BitSet(new long[]{0x0000000000000002L});
19.10759 + public static final BitSet FOLLOW_DOC_COMMENT_in_rule846 = new BitSet(new long[]{0x0002041000000000L,0x0000000000003800L});
19.10760 + public static final BitSet FOLLOW_75_in_rule856 = new BitSet(new long[]{0x0002040000000000L});
19.10761 + public static final BitSet FOLLOW_76_in_rule858 = new BitSet(new long[]{0x0002040000000000L});
19.10762 + public static final BitSet FOLLOW_77_in_rule860 = new BitSet(new long[]{0x0002040000000000L});
19.10763 + public static final BitSet FOLLOW_FRAGMENT_in_rule862 = new BitSet(new long[]{0x0002040000000000L});
19.10764 + public static final BitSet FOLLOW_id_in_rule870 = new BitSet(new long[]{0x0001408080000000L,0x000000000001C100L});
19.10765 + public static final BitSet FOLLOW_BANG_in_rule876 = new BitSet(new long[]{0x0001400080000000L,0x000000000001C100L});
19.10766 + public static final BitSet FOLLOW_ARG_ACTION_in_rule885 = new BitSet(new long[]{0x0000400080000000L,0x000000000001C100L});
19.10767 + public static final BitSet FOLLOW_78_in_rule894 = new BitSet(new long[]{0x0001000000000000L});
19.10768 + public static final BitSet FOLLOW_ARG_ACTION_in_rule898 = new BitSet(new long[]{0x0000400080000000L,0x0000000000018100L});
19.10769 + public static final BitSet FOLLOW_throwsSpec_in_rule906 = new BitSet(new long[]{0x0000400080000000L,0x0000000000008100L});
19.10770 + public static final BitSet FOLLOW_optionsSpec_in_rule909 = new BitSet(new long[]{0x0000000080000000L,0x0000000000008100L});
19.10771 + public static final BitSet FOLLOW_ruleScopeSpec_in_rule912 = new BitSet(new long[]{0x0000000000000000L,0x0000000000008100L});
19.10772 + public static final BitSet FOLLOW_ruleAction_in_rule915 = new BitSet(new long[]{0x0000000000000000L,0x0000000000008100L});
19.10773 + public static final BitSet FOLLOW_79_in_rule920 = new BitSet(new long[]{0x00023D2100000000L,0x00000000120C0000L});
19.10774 + public static final BitSet FOLLOW_altList_in_rule922 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000020L});
19.10775 + public static final BitSet FOLLOW_69_in_rule924 = new BitSet(new long[]{0x0000000000000002L,0x0000000000600000L});
19.10776 + public static final BitSet FOLLOW_exceptionGroup_in_rule928 = new BitSet(new long[]{0x0000000000000002L});
19.10777 + public static final BitSet FOLLOW_72_in_ruleAction1030 = new BitSet(new long[]{0x0002040000000000L});
19.10778 + public static final BitSet FOLLOW_id_in_ruleAction1032 = new BitSet(new long[]{0x0000200000000000L});
19.10779 + public static final BitSet FOLLOW_ACTION_in_ruleAction1034 = new BitSet(new long[]{0x0000000000000002L});
19.10780 + public static final BitSet FOLLOW_80_in_throwsSpec1055 = new BitSet(new long[]{0x0002040000000000L});
19.10781 + public static final BitSet FOLLOW_id_in_throwsSpec1057 = new BitSet(new long[]{0x0000000000000002L,0x0000000000020000L});
19.10782 + public static final BitSet FOLLOW_81_in_throwsSpec1061 = new BitSet(new long[]{0x0002040000000000L});
19.10783 + public static final BitSet FOLLOW_id_in_throwsSpec1063 = new BitSet(new long[]{0x0000000000000002L,0x0000000000020000L});
19.10784 + public static final BitSet FOLLOW_SCOPE_in_ruleScopeSpec1086 = new BitSet(new long[]{0x0000200000000000L});
19.10785 + public static final BitSet FOLLOW_ACTION_in_ruleScopeSpec1088 = new BitSet(new long[]{0x0000000000000002L});
19.10786 + public static final BitSet FOLLOW_SCOPE_in_ruleScopeSpec1101 = new BitSet(new long[]{0x0002040000000000L});
19.10787 + public static final BitSet FOLLOW_id_in_ruleScopeSpec1103 = new BitSet(new long[]{0x0000000000000000L,0x0000000000020020L});
19.10788 + public static final BitSet FOLLOW_81_in_ruleScopeSpec1106 = new BitSet(new long[]{0x0002040000000000L});
19.10789 + public static final BitSet FOLLOW_id_in_ruleScopeSpec1108 = new BitSet(new long[]{0x0000000000000000L,0x0000000000020020L});
19.10790 + public static final BitSet FOLLOW_69_in_ruleScopeSpec1112 = new BitSet(new long[]{0x0000000000000002L});
19.10791 + public static final BitSet FOLLOW_SCOPE_in_ruleScopeSpec1126 = new BitSet(new long[]{0x0000200000000000L});
19.10792 + public static final BitSet FOLLOW_ACTION_in_ruleScopeSpec1128 = new BitSet(new long[]{0x0000000080000000L});
19.10793 + public static final BitSet FOLLOW_SCOPE_in_ruleScopeSpec1132 = new BitSet(new long[]{0x0002040000000000L});
19.10794 + public static final BitSet FOLLOW_id_in_ruleScopeSpec1134 = new BitSet(new long[]{0x0000000000000000L,0x0000000000020020L});
19.10795 + public static final BitSet FOLLOW_81_in_ruleScopeSpec1137 = new BitSet(new long[]{0x0002040000000000L});
19.10796 + public static final BitSet FOLLOW_id_in_ruleScopeSpec1139 = new BitSet(new long[]{0x0000000000000000L,0x0000000000020020L});
19.10797 + public static final BitSet FOLLOW_69_in_ruleScopeSpec1143 = new BitSet(new long[]{0x0000000000000002L});
19.10798 + public static final BitSet FOLLOW_82_in_block1175 = new BitSet(new long[]{0x00027D2100000000L,0x00000000121C8000L});
19.10799 + public static final BitSet FOLLOW_optionsSpec_in_block1184 = new BitSet(new long[]{0x0000000000000000L,0x0000000000008000L});
19.10800 + public static final BitSet FOLLOW_79_in_block1188 = new BitSet(new long[]{0x00023D2100000000L,0x00000000121C0000L});
19.10801 + public static final BitSet FOLLOW_alternative_in_block1197 = new BitSet(new long[]{0x0000010000000000L,0x0000000000180000L});
19.10802 + public static final BitSet FOLLOW_rewrite_in_block1199 = new BitSet(new long[]{0x0000000000000000L,0x0000000000180000L});
19.10803 + public static final BitSet FOLLOW_83_in_block1203 = new BitSet(new long[]{0x00023D2100000000L,0x00000000121C0000L});
19.10804 + public static final BitSet FOLLOW_alternative_in_block1207 = new BitSet(new long[]{0x0000010000000000L,0x0000000000180000L});
19.10805 + public static final BitSet FOLLOW_rewrite_in_block1209 = new BitSet(new long[]{0x0000000000000000L,0x0000000000180000L});
19.10806 + public static final BitSet FOLLOW_84_in_block1224 = new BitSet(new long[]{0x0000000000000002L});
19.10807 + public static final BitSet FOLLOW_alternative_in_altList1281 = new BitSet(new long[]{0x0000010000000000L,0x0000000000080000L});
19.10808 + public static final BitSet FOLLOW_rewrite_in_altList1283 = new BitSet(new long[]{0x0000000000000002L,0x0000000000080000L});
19.10809 + public static final BitSet FOLLOW_83_in_altList1287 = new BitSet(new long[]{0x00023D2100000000L,0x00000000120C0000L});
19.10810 + public static final BitSet FOLLOW_alternative_in_altList1291 = new BitSet(new long[]{0x0000010000000000L,0x0000000000080000L});
19.10811 + public static final BitSet FOLLOW_rewrite_in_altList1293 = new BitSet(new long[]{0x0000000000000002L,0x0000000000080000L});
19.10812 + public static final BitSet FOLLOW_element_in_alternative1341 = new BitSet(new long[]{0x00023C2100000002L,0x0000000012040000L});
19.10813 + public static final BitSet FOLLOW_exceptionHandler_in_exceptionGroup1392 = new BitSet(new long[]{0x0000000000000002L,0x0000000000600000L});
19.10814 + public static final BitSet FOLLOW_finallyClause_in_exceptionGroup1399 = new BitSet(new long[]{0x0000000000000002L});
19.10815 + public static final BitSet FOLLOW_finallyClause_in_exceptionGroup1407 = new BitSet(new long[]{0x0000000000000002L});
19.10816 + public static final BitSet FOLLOW_85_in_exceptionHandler1427 = new BitSet(new long[]{0x0001000000000000L});
19.10817 + public static final BitSet FOLLOW_ARG_ACTION_in_exceptionHandler1429 = new BitSet(new long[]{0x0000200000000000L});
19.10818 + public static final BitSet FOLLOW_ACTION_in_exceptionHandler1431 = new BitSet(new long[]{0x0000000000000002L});
19.10819 + public static final BitSet FOLLOW_86_in_finallyClause1461 = new BitSet(new long[]{0x0000200000000000L});
19.10820 + public static final BitSet FOLLOW_ACTION_in_finallyClause1463 = new BitSet(new long[]{0x0000000000000002L});
19.10821 + public static final BitSet FOLLOW_elementNoOptionSpec_in_element1485 = new BitSet(new long[]{0x0000000000000002L});
19.10822 + public static final BitSet FOLLOW_id_in_elementNoOptionSpec1496 = new BitSet(new long[]{0x0000000000000000L,0x0000000000800080L});
19.10823 + public static final BitSet FOLLOW_71_in_elementNoOptionSpec1501 = new BitSet(new long[]{0x00021C0000000000L,0x0000000012000000L});
19.10824 + public static final BitSet FOLLOW_87_in_elementNoOptionSpec1505 = new BitSet(new long[]{0x00021C0000000000L,0x0000000012000000L});
19.10825 + public static final BitSet FOLLOW_atom_in_elementNoOptionSpec1508 = new BitSet(new long[]{0x0000000000000002L,0x000000000C000400L});
19.10826 + public static final BitSet FOLLOW_ebnfSuffix_in_elementNoOptionSpec1514 = new BitSet(new long[]{0x0000000000000002L});
19.10827 + public static final BitSet FOLLOW_id_in_elementNoOptionSpec1573 = new BitSet(new long[]{0x0000000000000000L,0x0000000000800080L});
19.10828 + public static final BitSet FOLLOW_71_in_elementNoOptionSpec1578 = new BitSet(new long[]{0x0000000000000000L,0x0000000000040000L});
19.10829 + public static final BitSet FOLLOW_87_in_elementNoOptionSpec1582 = new BitSet(new long[]{0x0000000000000000L,0x0000000000040000L});
19.10830 + public static final BitSet FOLLOW_block_in_elementNoOptionSpec1585 = new BitSet(new long[]{0x0000000000000002L,0x000000000C000400L});
19.10831 + public static final BitSet FOLLOW_ebnfSuffix_in_elementNoOptionSpec1591 = new BitSet(new long[]{0x0000000000000002L});
19.10832 + public static final BitSet FOLLOW_atom_in_elementNoOptionSpec1650 = new BitSet(new long[]{0x0000000000000002L,0x000000000C000400L});
19.10833 + public static final BitSet FOLLOW_ebnfSuffix_in_elementNoOptionSpec1656 = new BitSet(new long[]{0x0000000000000002L});
19.10834 + public static final BitSet FOLLOW_ebnf_in_elementNoOptionSpec1702 = new BitSet(new long[]{0x0000000000000002L});
19.10835 + public static final BitSet FOLLOW_ACTION_in_elementNoOptionSpec1709 = new BitSet(new long[]{0x0000000000000002L});
19.10836 + public static final BitSet FOLLOW_SEMPRED_in_elementNoOptionSpec1716 = new BitSet(new long[]{0x0000000000000002L,0x0000000001000000L});
19.10837 + public static final BitSet FOLLOW_88_in_elementNoOptionSpec1720 = new BitSet(new long[]{0x0000000000000002L});
19.10838 + public static final BitSet FOLLOW_treeSpec_in_elementNoOptionSpec1739 = new BitSet(new long[]{0x0000000000000002L,0x000000000C000400L});
19.10839 + public static final BitSet FOLLOW_ebnfSuffix_in_elementNoOptionSpec1745 = new BitSet(new long[]{0x0000000000000002L});
19.10840 + public static final BitSet FOLLOW_range_in_atom1797 = new BitSet(new long[]{0x000000C000000002L});
19.10841 + public static final BitSet FOLLOW_ROOT_in_atom1804 = new BitSet(new long[]{0x0000000000000002L});
19.10842 + public static final BitSet FOLLOW_BANG_in_atom1808 = new BitSet(new long[]{0x0000000000000002L});
19.10843 + public static final BitSet FOLLOW_terminal_in_atom1836 = new BitSet(new long[]{0x0000000000000002L});
19.10844 + public static final BitSet FOLLOW_notSet_in_atom1844 = new BitSet(new long[]{0x000000C000000002L});
19.10845 + public static final BitSet FOLLOW_ROOT_in_atom1851 = new BitSet(new long[]{0x0000000000000002L});
19.10846 + public static final BitSet FOLLOW_BANG_in_atom1855 = new BitSet(new long[]{0x0000000000000002L});
19.10847 + public static final BitSet FOLLOW_RULE_REF_in_atom1883 = new BitSet(new long[]{0x000100C000000002L});
19.10848 + public static final BitSet FOLLOW_ARG_ACTION_in_atom1889 = new BitSet(new long[]{0x000000C000000002L});
19.10849 + public static final BitSet FOLLOW_ROOT_in_atom1899 = new BitSet(new long[]{0x0000000000000002L});
19.10850 + public static final BitSet FOLLOW_BANG_in_atom1903 = new BitSet(new long[]{0x0000000000000002L});
19.10851 + public static final BitSet FOLLOW_89_in_notSet1986 = new BitSet(new long[]{0x00001C0000000000L,0x0000000000040000L});
19.10852 + public static final BitSet FOLLOW_notTerminal_in_notSet1992 = new BitSet(new long[]{0x0000000000000002L});
19.10853 + public static final BitSet FOLLOW_block_in_notSet2006 = new BitSet(new long[]{0x0000000000000002L});
19.10854 + public static final BitSet FOLLOW_TREE_BEGIN_in_treeSpec2030 = new BitSet(new long[]{0x00023C2100000000L,0x0000000012040000L});
19.10855 + public static final BitSet FOLLOW_element_in_treeSpec2032 = new BitSet(new long[]{0x00023C2100000000L,0x0000000012040000L});
19.10856 + public static final BitSet FOLLOW_element_in_treeSpec2036 = new BitSet(new long[]{0x00023C2100000000L,0x0000000012140000L});
19.10857 + public static final BitSet FOLLOW_84_in_treeSpec2041 = new BitSet(new long[]{0x0000000000000002L});
19.10858 + public static final BitSet FOLLOW_block_in_ebnf2073 = new BitSet(new long[]{0x0000000000000002L,0x000000000D000400L});
19.10859 + public static final BitSet FOLLOW_90_in_ebnf2081 = new BitSet(new long[]{0x0000000000000002L});
19.10860 + public static final BitSet FOLLOW_74_in_ebnf2098 = new BitSet(new long[]{0x0000000000000002L});
19.10861 + public static final BitSet FOLLOW_91_in_ebnf2115 = new BitSet(new long[]{0x0000000000000002L});
19.10862 + public static final BitSet FOLLOW_88_in_ebnf2132 = new BitSet(new long[]{0x0000000000000002L});
19.10863 + public static final BitSet FOLLOW_CHAR_LITERAL_in_range2215 = new BitSet(new long[]{0x0000000000002000L});
19.10864 + public static final BitSet FOLLOW_RANGE_in_range2217 = new BitSet(new long[]{0x0000100000000000L});
19.10865 + public static final BitSet FOLLOW_CHAR_LITERAL_in_range2221 = new BitSet(new long[]{0x0000000000000002L});
19.10866 + public static final BitSet FOLLOW_CHAR_LITERAL_in_terminal2252 = new BitSet(new long[]{0x000000C000000002L});
19.10867 + public static final BitSet FOLLOW_TOKEN_REF_in_terminal2274 = new BitSet(new long[]{0x000100C000000002L});
19.10868 + public static final BitSet FOLLOW_ARG_ACTION_in_terminal2281 = new BitSet(new long[]{0x000000C000000002L});
19.10869 + public static final BitSet FOLLOW_STRING_LITERAL_in_terminal2320 = new BitSet(new long[]{0x000000C000000002L});
19.10870 + public static final BitSet FOLLOW_92_in_terminal2335 = new BitSet(new long[]{0x000000C000000002L});
19.10871 + public static final BitSet FOLLOW_ROOT_in_terminal2356 = new BitSet(new long[]{0x0000000000000002L});
19.10872 + public static final BitSet FOLLOW_BANG_in_terminal2377 = new BitSet(new long[]{0x0000000000000002L});
19.10873 + public static final BitSet FOLLOW_set_in_notTerminal0 = new BitSet(new long[]{0x0000000000000002L});
19.10874 + public static final BitSet FOLLOW_90_in_ebnfSuffix2437 = new BitSet(new long[]{0x0000000000000002L});
19.10875 + public static final BitSet FOLLOW_74_in_ebnfSuffix2449 = new BitSet(new long[]{0x0000000000000002L});
19.10876 + public static final BitSet FOLLOW_91_in_ebnfSuffix2462 = new BitSet(new long[]{0x0000000000000002L});
19.10877 + public static final BitSet FOLLOW_REWRITE_in_rewrite2491 = new BitSet(new long[]{0x0000000100000000L});
19.10878 + public static final BitSet FOLLOW_SEMPRED_in_rewrite2495 = new BitSet(new long[]{0x00023D2000000000L,0x0000000020040000L});
19.10879 + public static final BitSet FOLLOW_rewrite_alternative_in_rewrite2499 = new BitSet(new long[]{0x0000010000000000L});
19.10880 + public static final BitSet FOLLOW_REWRITE_in_rewrite2507 = new BitSet(new long[]{0x00023C2000000000L,0x0000000020040000L});
19.10881 + public static final BitSet FOLLOW_rewrite_alternative_in_rewrite2511 = new BitSet(new long[]{0x0000000000000002L});
19.10882 + public static final BitSet FOLLOW_rewrite_template_in_rewrite_alternative2562 = new BitSet(new long[]{0x0000000000000002L});
19.10883 + public static final BitSet FOLLOW_rewrite_tree_alternative_in_rewrite_alternative2567 = new BitSet(new long[]{0x0000000000000002L});
19.10884 + public static final BitSet FOLLOW_82_in_rewrite_tree_block2609 = new BitSet(new long[]{0x00023C2000000000L,0x0000000020040000L});
19.10885 + public static final BitSet FOLLOW_rewrite_tree_alternative_in_rewrite_tree_block2611 = new BitSet(new long[]{0x0000000000000000L,0x0000000000100000L});
19.10886 + public static final BitSet FOLLOW_84_in_rewrite_tree_block2613 = new BitSet(new long[]{0x0000000000000002L});
19.10887 + public static final BitSet FOLLOW_rewrite_tree_element_in_rewrite_tree_alternative2647 = new BitSet(new long[]{0x00023C2000000002L,0x0000000020040000L});
19.10888 + public static final BitSet FOLLOW_rewrite_tree_atom_in_rewrite_tree_element2675 = new BitSet(new long[]{0x0000000000000002L});
19.10889 + public static final BitSet FOLLOW_rewrite_tree_atom_in_rewrite_tree_element2680 = new BitSet(new long[]{0x0000000000000000L,0x000000000C000400L});
19.10890 + public static final BitSet FOLLOW_ebnfSuffix_in_rewrite_tree_element2682 = new BitSet(new long[]{0x0000000000000002L});
19.10891 + public static final BitSet FOLLOW_rewrite_tree_in_rewrite_tree_element2716 = new BitSet(new long[]{0x0000000000000002L,0x000000000C000400L});
19.10892 + public static final BitSet FOLLOW_ebnfSuffix_in_rewrite_tree_element2722 = new BitSet(new long[]{0x0000000000000002L});
19.10893 + public static final BitSet FOLLOW_rewrite_tree_ebnf_in_rewrite_tree_element2768 = new BitSet(new long[]{0x0000000000000002L});
19.10894 + public static final BitSet FOLLOW_CHAR_LITERAL_in_rewrite_tree_atom2784 = new BitSet(new long[]{0x0000000000000002L});
19.10895 + public static final BitSet FOLLOW_TOKEN_REF_in_rewrite_tree_atom2791 = new BitSet(new long[]{0x0001000000000002L});
19.10896 + public static final BitSet FOLLOW_ARG_ACTION_in_rewrite_tree_atom2793 = new BitSet(new long[]{0x0000000000000002L});
19.10897 + public static final BitSet FOLLOW_RULE_REF_in_rewrite_tree_atom2814 = new BitSet(new long[]{0x0000000000000002L});
19.10898 + public static final BitSet FOLLOW_STRING_LITERAL_in_rewrite_tree_atom2821 = new BitSet(new long[]{0x0000000000000002L});
19.10899 + public static final BitSet FOLLOW_93_in_rewrite_tree_atom2830 = new BitSet(new long[]{0x0002040000000000L});
19.10900 + public static final BitSet FOLLOW_id_in_rewrite_tree_atom2832 = new BitSet(new long[]{0x0000000000000002L});
19.10901 + public static final BitSet FOLLOW_ACTION_in_rewrite_tree_atom2843 = new BitSet(new long[]{0x0000000000000002L});
19.10902 + public static final BitSet FOLLOW_rewrite_tree_block_in_rewrite_tree_ebnf2864 = new BitSet(new long[]{0x0000000000000000L,0x000000000C000400L});
19.10903 + public static final BitSet FOLLOW_ebnfSuffix_in_rewrite_tree_ebnf2866 = new BitSet(new long[]{0x0000000000000002L});
19.10904 + public static final BitSet FOLLOW_TREE_BEGIN_in_rewrite_tree2886 = new BitSet(new long[]{0x00023C0000000000L,0x0000000020000000L});
19.10905 + public static final BitSet FOLLOW_rewrite_tree_atom_in_rewrite_tree2888 = new BitSet(new long[]{0x00023C2000000000L,0x0000000020140000L});
19.10906 + public static final BitSet FOLLOW_rewrite_tree_element_in_rewrite_tree2890 = new BitSet(new long[]{0x00023C2000000000L,0x0000000020140000L});
19.10907 + public static final BitSet FOLLOW_84_in_rewrite_tree2893 = new BitSet(new long[]{0x0000000000000002L});
19.10908 + public static final BitSet FOLLOW_id_in_rewrite_template2925 = new BitSet(new long[]{0x0000000000000000L,0x0000000000040000L});
19.10909 + public static final BitSet FOLLOW_82_in_rewrite_template2929 = new BitSet(new long[]{0x0002040000000000L,0x0000000000100000L});
19.10910 + public static final BitSet FOLLOW_rewrite_template_args_in_rewrite_template2931 = new BitSet(new long[]{0x0000000000000000L,0x0000000000100000L});
19.10911 + public static final BitSet FOLLOW_84_in_rewrite_template2933 = new BitSet(new long[]{0x000C000000000000L});
19.10912 + public static final BitSet FOLLOW_DOUBLE_QUOTE_STRING_LITERAL_in_rewrite_template2941 = new BitSet(new long[]{0x0000000000000002L});
19.10913 + public static final BitSet FOLLOW_DOUBLE_ANGLE_STRING_LITERAL_in_rewrite_template2947 = new BitSet(new long[]{0x0000000000000002L});
19.10914 + public static final BitSet FOLLOW_rewrite_template_ref_in_rewrite_template2974 = new BitSet(new long[]{0x0000000000000002L});
19.10915 + public static final BitSet FOLLOW_rewrite_indirect_template_head_in_rewrite_template2983 = new BitSet(new long[]{0x0000000000000002L});
19.10916 + public static final BitSet FOLLOW_ACTION_in_rewrite_template2992 = new BitSet(new long[]{0x0000000000000002L});
19.10917 + public static final BitSet FOLLOW_id_in_rewrite_template_ref3005 = new BitSet(new long[]{0x0000000000000000L,0x0000000000040000L});
19.10918 + public static final BitSet FOLLOW_82_in_rewrite_template_ref3009 = new BitSet(new long[]{0x0002040000000000L,0x0000000000100000L});
19.10919 + public static final BitSet FOLLOW_rewrite_template_args_in_rewrite_template_ref3011 = new BitSet(new long[]{0x0000000000000000L,0x0000000000100000L});
19.10920 + public static final BitSet FOLLOW_84_in_rewrite_template_ref3013 = new BitSet(new long[]{0x0000000000000002L});
19.10921 + public static final BitSet FOLLOW_82_in_rewrite_indirect_template_head3041 = new BitSet(new long[]{0x0000200000000000L});
19.10922 + public static final BitSet FOLLOW_ACTION_in_rewrite_indirect_template_head3043 = new BitSet(new long[]{0x0000000000000000L,0x0000000000100000L});
19.10923 + public static final BitSet FOLLOW_84_in_rewrite_indirect_template_head3045 = new BitSet(new long[]{0x0000000000000000L,0x0000000000040000L});
19.10924 + public static final BitSet FOLLOW_82_in_rewrite_indirect_template_head3047 = new BitSet(new long[]{0x0002040000000000L,0x0000000000100000L});
19.10925 + public static final BitSet FOLLOW_rewrite_template_args_in_rewrite_indirect_template_head3049 = new BitSet(new long[]{0x0000000000000000L,0x0000000000100000L});
19.10926 + public static final BitSet FOLLOW_84_in_rewrite_indirect_template_head3051 = new BitSet(new long[]{0x0000000000000002L});
19.10927 + public static final BitSet FOLLOW_rewrite_template_arg_in_rewrite_template_args3075 = new BitSet(new long[]{0x0000000000000002L,0x0000000000020000L});
19.10928 + public static final BitSet FOLLOW_81_in_rewrite_template_args3078 = new BitSet(new long[]{0x0002040000000000L});
19.10929 + public static final BitSet FOLLOW_rewrite_template_arg_in_rewrite_template_args3080 = new BitSet(new long[]{0x0000000000000002L,0x0000000000020000L});
19.10930 + public static final BitSet FOLLOW_id_in_rewrite_template_arg3113 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000080L});
19.10931 + public static final BitSet FOLLOW_71_in_rewrite_template_arg3115 = new BitSet(new long[]{0x0000200000000000L});
19.10932 + public static final BitSet FOLLOW_ACTION_in_rewrite_template_arg3117 = new BitSet(new long[]{0x0000000000000002L});
19.10933 + public static final BitSet FOLLOW_TOKEN_REF_in_id3138 = new BitSet(new long[]{0x0000000000000002L});
19.10934 + public static final BitSet FOLLOW_RULE_REF_in_id3148 = new BitSet(new long[]{0x0000000000000002L});
19.10935 + public static final BitSet FOLLOW_rewrite_template_in_synpred1_ANTLRv32562 = new BitSet(new long[]{0x0000000000000002L});
19.10936 + public static final BitSet FOLLOW_rewrite_tree_alternative_in_synpred2_ANTLRv32567 = new BitSet(new long[]{0x0000000000000002L});
19.10937 +
19.10938 +}
19.10939 \ No newline at end of file
20.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
20.2 +++ b/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/layer.xml Fri Jan 11 15:06:14 2013 +0100
20.3 @@ -0,0 +1,19 @@
20.4 +<?xml version="1.0" encoding="UTF-8"?>
20.5 +<!DOCTYPE filesystem PUBLIC "-//NetBeans//DTD Filesystem 1.2//EN" "http://www.netbeans.org/dtds/filesystem-1_2.dtd">
20.6 +<filesystem>
20.7 + <folder name="Editors">
20.8 + <folder name="text">
20.9 + <folder name="antlr">
20.10 + <folder name="FontsColors">
20.11 + <folder name="NetBeans">
20.12 + <folder name="Defaults">
20.13 + <file name="org-netbeans-antlr-editor-coloring.xml" url="fontsColors.xml">
20.14 + <attr name="SystemFileSystem.localizingBundle" stringvalue="org.netbeans.antlr.editor.Bundle"/>
20.15 + </file>
20.16 + </folder>
20.17 + </folder>
20.18 + </folder>
20.19 + </folder>
20.20 + </folder>
20.21 + </folder>
20.22 +</filesystem>
21.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
21.2 +++ b/o.n.antlr.editor/src/org/netbeans/modules/antlr/editor/package-info.java Fri Jan 11 15:06:14 2013 +0100
21.3 @@ -0,0 +1,45 @@
21.4 +/*
21.5 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
21.6 + *
21.7 + * Copyright 2013 Oracle and/or its affiliates. All rights reserved.
21.8 + *
21.9 + * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
21.10 + * Other names may be trademarks of their respective owners.
21.11 + *
21.12 + * The contents of this file are subject to the terms of either the GNU
21.13 + * General Public License Version 2 only ("GPL") or the Common
21.14 + * Development and Distribution License("CDDL") (collectively, the
21.15 + * "License"). You may not use this file except in compliance with the
21.16 + * License. You can obtain a copy of the License at
21.17 + * http://www.netbeans.org/cddl-gplv2.html
21.18 + * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
21.19 + * specific language governing permissions and limitations under the
21.20 + * License. When distributing the software, include this License Header
21.21 + * Notice in each file and include the License file at
21.22 + * nbbuild/licenses/CDDL-GPL-2-CP. Oracle designates this
21.23 + * particular file as subject to the "Classpath" exception as provided
21.24 + * by Oracle in the GPL Version 2 section of the License file that
21.25 + * accompanied this code. If applicable, add the following below the
21.26 + * License Header, with the fields enclosed by brackets [] replaced by
21.27 + * your own identifying information:
21.28 + * "Portions Copyrighted [year] [name of copyright owner]"
21.29 + *
21.30 + * If you wish your version of this file to be governed by only the CDDL
21.31 + * or only the GPL Version 2, indicate your decision by adding
21.32 + * "[Contributor] elects to include this software in this distribution
21.33 + * under the [CDDL or GPL Version 2] license." If you do not indicate a
21.34 + * single choice of license, a recipient has the option to distribute
21.35 + * your version of this file under either the CDDL, the GPL Version 2 or
21.36 + * to extend the choice of license to its licensees as provided above.
21.37 + * However, if you add GPL Version 2 code and therefore, elected the GPL
21.38 + * Version 2 license, then the option applies only if the new code is
21.39 + * made subject to such option by the copyright holder.
21.40 + *
21.41 + * Contributor(s):
21.42 + *
21.43 + * Portions Copyrighted 2013 Sun Microsystems, Inc.
21.44 + */
21.45 +@TemplateRegistration(folder = "Other", content = "AnlrTemplate.g")
21.46 +package org.netbeans.modules.antlr.editor;
21.47 +
21.48 +import org.netbeans.api.templates.TemplateRegistration;