Strip - strip a grammar to just the grammar components
Strip
As of ANTLR v3.1.2.
(copied from the release notes)
To strip a grammar down to just the grammar components do this:
$ java org.antlr.tool.Strip T.g
If T.g is:
grammar T;
options {k=1; output=AST;}
@header {kill}
@lexer::header {...}
@members {
akdsfljklas
}
z
scope A;
: q=a[34] ids+=ID
;
a[int i] returns [float f]
options {k=1;}
@init {rmoeve}
: {sfkljlsf} B^ {on end}
| '3' -> '3' {end}
{aaa}
;
b
scope {
String name;
}
: B
-> {$arg!=null&&op!=null}? ^($op RULE_REF $arg)
-> ^(RULE_REF $arg)
;
c : {true}? B | {false}?=> C ;
fragment A : '0' {skip();} ; // leave lexer actions
B : ~A
'z' ;
you'll get the following output
grammar T;
options {k=1; output=AST;}
z
: a ID
;
a
options {k=1;}
: B
| '3'
;
b
: B
;
c : /*{true}?*/ B | /*{false}?=>*/ C ;
fragment A : '0' {skip();} ; // leave lexer actions
B : ~A
'z' ;
, multiple selections available,