CommonTree char_literal43_tree = null;
CommonTree string_literal44_tree = null;
RewriteRuleTokenStream stream_IDENT = new RewriteRuleTokenStream(adaptor, "token IDENT");
RewriteRuleTokenStream stream_39 = new RewriteRuleTokenStream(adaptor, "token 39");
RewriteRuleTokenStream stream_38 = new RewriteRuleTokenStream(adaptor, "token 38");
RewriteRuleSubtreeStream stream_function = new RewriteRuleSubtreeStream(adaptor, "rule function");
try {
// /home/langera/dev/freud/src/grammar/Css.g:89:2: ( ( ':' | '::' ) IDENT -> ^( PSEUDO IDENT ) | ( ':' | '::' ) function -> ^( PSEUDO function ) )
int alt20 = 2;
alt20 = dfa20.predict(input);
switch (alt20) {
case 1:
// /home/langera/dev/freud/src/grammar/Css.g:89:4: ( ':' | '::' ) IDENT
{
// /home/langera/dev/freud/src/grammar/Css.g:89:4: ( ':' | '::' )
int alt18 = 2;
int LA18_0 = input.LA(1);
if ((LA18_0 == 38)) {
alt18 = 1;
}
else if ((LA18_0 == 39)) {
alt18 = 2;
}
else {
NoViableAltException nvae =
new NoViableAltException("", 18, 0, input);
throw nvae;
}
switch (alt18) {
case 1:
// /home/langera/dev/freud/src/grammar/Css.g:89:5: ':'
{
char_literal40 = (Token) match(input, 38, FOLLOW_38_in_pseudo493);
stream_38.add(char_literal40);
}
break;
case 2:
// /home/langera/dev/freud/src/grammar/Css.g:89:9: '::'
{
string_literal41 = (Token) match(input, 39, FOLLOW_39_in_pseudo495);
stream_39.add(string_literal41);
}
break;
}
IDENT42 = (Token) match(input, IDENT, FOLLOW_IDENT_in_pseudo498);
stream_IDENT.add(IDENT42);
// AST REWRITE
// elements: IDENT
// token labels:
// rule labels: retval
// token list labels:
// rule list labels:
// wildcard labels:
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval != null ? retval.tree : null);
root_0 = (CommonTree) adaptor.nil();
// 89:21: -> ^( PSEUDO IDENT )
{
// /home/langera/dev/freud/src/grammar/Css.g:89:24: ^( PSEUDO IDENT )
{
CommonTree root_1 = (CommonTree) adaptor.nil();
root_1 = (CommonTree) adaptor.becomeRoot((CommonTree) adaptor.create(PSEUDO, "PSEUDO"), root_1);
adaptor.addChild(root_1, stream_IDENT.nextNode());
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
break;
case 2:
// /home/langera/dev/freud/src/grammar/Css.g:90:4: ( ':' | '::' ) function
{
// /home/langera/dev/freud/src/grammar/Css.g:90:4: ( ':' | '::' )
int alt19 = 2;
int LA19_0 = input.LA(1);
if ((LA19_0 == 38)) {
alt19 = 1;
}
else if ((LA19_0 == 39)) {
alt19 = 2;
}
else {
NoViableAltException nvae =
new NoViableAltException("", 19, 0, input);
throw nvae;
}
switch (alt19) {
case 1:
// /home/langera/dev/freud/src/grammar/Css.g:90:5: ':'
{
char_literal43 = (Token) match(input, 38, FOLLOW_38_in_pseudo514);
stream_38.add(char_literal43);
}
break;
case 2:
// /home/langera/dev/freud/src/grammar/Css.g:90:9: '::'
{
string_literal44 = (Token) match(input, 39, FOLLOW_39_in_pseudo516);
stream_39.add(string_literal44);
}
break;
}
pushFollow(FOLLOW_function_in_pseudo519);
function45 = function();
state._fsp--;
stream_function.add(function45.getTree());
// AST REWRITE
// elements: function
// token labels:
// rule labels: retval
// token list labels:
// rule list labels:
// wildcard labels:
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval != null ? retval.tree : null);
root_0 = (CommonTree) adaptor.nil();
// 90:24: -> ^( PSEUDO function )
{
// /home/langera/dev/freud/src/grammar/Css.g:90:27: ^( PSEUDO function )