in antlr-based-bootstrap/peg/GrammarLexer.java [292:456]
public final void mCOMMENT() throws RecognitionException {
try {
int _type = COMMENT;
int _channel = DEFAULT_TOKEN_CHANNEL;
// /Users/gregory/Projects/PEG/Grammar.g:34:5: ( '//' (~ ( '\\n' | '\\r' ) )* ( '\\r' )? ( '\\n' )? | '/*' ( options {greedy=false; } : . )* '*/' )
int alt6=2;
int LA6_0 = input.LA(1);
if ( (LA6_0=='/') ) {
int LA6_1 = input.LA(2);
if ( (LA6_1=='/') ) {
alt6=1;
}
else if ( (LA6_1=='*') ) {
alt6=2;
}
else {
NoViableAltException nvae =
new NoViableAltException("", 6, 1, input);
throw nvae;
}
}
else {
NoViableAltException nvae =
new NoViableAltException("", 6, 0, input);
throw nvae;
}
switch (alt6) {
case 1 :
// /Users/gregory/Projects/PEG/Grammar.g:34:9: '//' (~ ( '\\n' | '\\r' ) )* ( '\\r' )? ( '\\n' )?
{
match("//");
// /Users/gregory/Projects/PEG/Grammar.g:34:14: (~ ( '\\n' | '\\r' ) )*
loop2:
do {
int alt2=2;
int LA2_0 = input.LA(1);
if ( ((LA2_0>='\u0000' && LA2_0<='\t')||(LA2_0>='\u000B' && LA2_0<='\f')||(LA2_0>='\u000E' && LA2_0<='\uFFFF')) ) {
alt2=1;
}
switch (alt2) {
case 1 :
// /Users/gregory/Projects/PEG/Grammar.g:34:14: ~ ( '\\n' | '\\r' )
{
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') ) {
input.consume();
}
else {
MismatchedSetException mse = new MismatchedSetException(null,input);
recover(mse);
throw mse;}
}
break;
default :
break loop2;
}
} while (true);
// /Users/gregory/Projects/PEG/Grammar.g:34:28: ( '\\r' )?
int alt3=2;
int LA3_0 = input.LA(1);
if ( (LA3_0=='\r') ) {
alt3=1;
}
switch (alt3) {
case 1 :
// /Users/gregory/Projects/PEG/Grammar.g:34:28: '\\r'
{
match('\r');
}
break;
}
// /Users/gregory/Projects/PEG/Grammar.g:34:34: ( '\\n' )?
int alt4=2;
int LA4_0 = input.LA(1);
if ( (LA4_0=='\n') ) {
alt4=1;
}
switch (alt4) {
case 1 :
// /Users/gregory/Projects/PEG/Grammar.g:34:34: '\\n'
{
match('\n');
}
break;
}
_channel=HIDDEN;
}
break;
case 2 :
// /Users/gregory/Projects/PEG/Grammar.g:35:9: '/*' ( options {greedy=false; } : . )* '*/'
{
match("/*");
// /Users/gregory/Projects/PEG/Grammar.g:35:14: ( options {greedy=false; } : . )*
loop5:
do {
int alt5=2;
int LA5_0 = input.LA(1);
if ( (LA5_0=='*') ) {
int LA5_1 = input.LA(2);
if ( (LA5_1=='/') ) {
alt5=2;
}
else if ( ((LA5_1>='\u0000' && LA5_1<='.')||(LA5_1>='0' && LA5_1<='\uFFFF')) ) {
alt5=1;
}
}
else if ( ((LA5_0>='\u0000' && LA5_0<=')')||(LA5_0>='+' && LA5_0<='\uFFFF')) ) {
alt5=1;
}
switch (alt5) {
case 1 :
// /Users/gregory/Projects/PEG/Grammar.g:35:42: .
{
matchAny();
}
break;
default :
break loop5;
}
} while (true);
match("*/");
_channel=HIDDEN;
}
break;
}
state.type = _type;
state.channel = _channel;
}
finally {
}
}