[antlr-interest] should sempred questions be asked on trailing optional tokens?
Mark Wright
markwright at internode.on.net
Tue May 6 08:33:39 PDT 2008
Hello,
ANTLR is really neat how it can handle really difficult languages
which require lots of dis-ambiguating semantic predicates.
I have a little question though. I have a rule which has some
alternatives and some dis-ambiguating semantic predicates like:
simple_type_specifier
: {sa.isUnsignedInt((TokenStream)input)}?
'unsigned' 'int'?
| {sa.isSignedInt((TokenStream)input)}?
'signed' 'int'?
| {sa.isInt((TokenStream)input)}?
'int'
;
This is in a large grammar where these dis-ambiguating semantic
predicates are necessary. Actually I have tried to write a cut-down
example to reproduce this behaviour, but then of course the issue
does not occur.
I try to compile the following input:
unsigned int x;
I tell antlr isUnsignedInt true at line 1 char position 0, but then ANTLR
asks the question at line 1 char position 9 is it an int, then my
parser gets confused. This is the log of the calls to the dis-ambiguating
semantic predicates when compiling the above input, where:
1:0 means line number 1 char position 0 which is at the start of the token unsigned
1:9 means line number 1 char position 9 which is at the start of the token int
The true or false after the line number:char position is my answer from
the dis-ambiguating semantic predicate.
goanna% tntdboc -ast -logDSPs t1.cpp
Jan 30, 2008 3:42:48 PM Tntdboc process
INFO: Compiling t1.cpp
Jan 30, 2008 3:42:49 PM SemanticActions isStorageClassSpecifierOptTypeIdInitDeclarator
INFO: 1:0 true
Jan 30, 2008 3:42:49 PM SemanticActions isTypeSpecifierSeqAbstractDeclarator
INFO: 1:0 false
Jan 30, 2008 3:42:50 PM SemanticActions isUnsignedLongLongInt
INFO: 1:0 false
Jan 30, 2008 3:42:50 PM SemanticActions isUnsignedLongInt
INFO: 1:0 false
Jan 30, 2008 3:42:50 PM SemanticActions isStorageClassSpecifierOptTypeIdNoInitDeclarator
INFO: 1:0 false
Jan 30, 2008 3:42:50 PM SemanticActions isUnsignedShortInt
INFO: 1:0 false
Jan 30, 2008 3:42:50 PM SemanticActions isUnsignedInt
INFO: 1:0 true
Jan 30, 2008 3:42:50 PM SemanticActions isUnsignedChar
INFO: 1:0 false
Jan 30, 2008 3:42:50 PM SemanticActions isInt
INFO: 1:9 true
line 1:9 [translation_unit, declaration_seq, declaration, block_declaration, simple_declaration, decl_defn_declaration, init_declarator_list, init_declarator] no viable alt; token=[@2,9:11='int',<91>,1:9] (decision=122 state 0) decision=<<1110:1: init_declarator[CommonTree scs, CommonTree ti] : ({...}? function_declarator -> {(scs == null)}? ^( FUNCTION_DECLARATION function_declarator ) -> {(scs != null)}? ^( FUNCTION_DECLARATION function_declarator ) -> | {...}? operator_function_declarator -> {(scs == null)}? ^( OPERATOR_FUNCTION_DECLARATION operator_function_declarator ) -> {(scs != null)}? ^( OPERATOR_FUNCTION_DECLARATION operator_function_declarator ) -> | declarator ( initializer )? -> {(scs == null)}? ^( DD declarator ( initializer )? ) -> {(scs != null)}? ^( DD declarator ( initializer )? ) ->);>>
Exception in thread "main" org.antlr.runtime.tree.RewriteEarlyExitException
at tntdbo.dboc.TntdboParser.init_declarator_list(TntdboParser.java:14953)
at tntdbo.dboc.TntdboParser.decl_defn_declaration(TntdboParser.java:9827)
at tntdbo.dboc.TntdboParser.simple_declaration(TntdboParser.java:9458)
at tntdbo.dboc.TntdboParser.block_declaration(TntdboParser.java:9276)
at tntdbo.dboc.TntdboParser.declaration(TntdboParser.java:9074)
at tntdbo.dboc.TntdboParser.declaration_seq(TntdboParser.java:8950)
at tntdbo.dboc.TntdboParser.translation_unit(TntdboParser.java:364)
at tntdbo.dboc.Tntdboc.process(Tntdboc.java:136)
at tntdbo.dboc.Tntdboc.<init>(Tntdboc.java:66)
at tntdbo.dboc.Tntdboc.main(Tntdboc.java:93)
goanna%
OK so I try to code around this by changing my dis-ambiguating semantic
predicate isInt() to scan backwards looking for 'unsigned', and some other
possibilities I thought of, and answer false if they are found. This gives
the following dis-ambiguating semantic predicate call trace with
antlr-2008-05-05.18 (I get the same behaviour with this issue in every
ANTLR pre-release I have tried):
goanna% tntdboc -ast -logDSPs t1.cpp
7/05/2008 00:29:23 Tntdboc process
INFO: Compiling t1.cpp
7/05/2008 00:29:26 SemanticActions isStorageClassSpecifierOptTypeIdInitDeclarator
INFO: 1:0 true
7/05/2008 00:29:26 SemanticActions isTypeSpecifierSeqAbstractDeclarator
INFO: 1:0 false
7/05/2008 00:29:26 SemanticActions isStorageClassSpecifierOptTypeIdNoInitDeclarator
INFO: 1:0 false
7/05/2008 00:29:26 SemanticActions isUnsignedShortInt
INFO: 1:0 false
7/05/2008 00:29:26 SemanticActions isUnsignedChar
INFO: 1:0 false
7/05/2008 00:29:26 SemanticActions isUnsignedLongInt
INFO: 1:0 false
7/05/2008 00:29:26 SemanticActions isUnsignedLongLongInt
INFO: 1:0 false
7/05/2008 00:29:26 SemanticActions isUnsignedInt
INFO: 1:0 true
7/05/2008 00:29:26 SemanticActions isInt
INFO: 1:9 false
7/05/2008 00:29:26 SemanticActions isStorageClassSpecifierOptTypeIdInitDeclarator
INFO: 1:9 true
7/05/2008 00:29:26 SemanticActions isTypeSpecifierSeqAbstractDeclarator
INFO: 1:9 false
7/05/2008 00:29:26 SemanticActions isStorageClassSpecifierOptTypeIdNoInitDeclarator
INFO: 1:9 false
7/05/2008 00:29:26 SemanticActions isSimpleTypeSpecifierConstructorCast
INFO: 1:9 false
7/05/2008 00:29:26 SemanticActions isAssignmentOperatorExpression
INFO: 1:9 false
7/05/2008 00:29:26 SemanticActions isNoCcQualifierName
INFO: 1:13 false
7/05/2008 00:29:26 SemanticActions isPtrOperatorDeclarator
INFO: 1:13 false
7/05/2008 00:29:26 SemanticActions isSimpleTemplateId
INFO: 1:13 false
7/05/2008 00:29:26 SemanticActions isNoCcIdentifier
INFO: 1:13 true
(DD unsigned int (DIRECT_DECLARATOR (UNQUALIFIED_IDENTIFIER x)))
goanna%
My question is:
Is it normal after ANTLR has already chosen to take the alternative:
: {sa.isUnsignedInt((TokenStream)input)}?
'unsigned' 'int'?
to then call another dis-ambiguating semantic predicate on
seeing the token 'int' ?
I thought that ANTLR should trust me: since I answered
isUnsignedInt() is true at 1:0 then I sort of thought that
ANTLR should be greedy and:
- consume the 'int' if its there, without asking any
dis-ambiguating semantic predicate questions.
- only after consuming either ''unsigned' or 'unsigned' 'int' should
ANTLR then start asking more dis-ambiguating semantic predicate
questions if necessary.
Thanks, Mark
PS here is a run with antlr-2008-05-05.18:
- the first call to a dis-ambiguating semantic predicate at each line/char position.
- the ANTLR rule invocation stack.
- the stack trace at the call to the dis-ambiguating semantic predicate.
goanna% tntdboc -ast -logDSPs -logDSPRuleInvocationStack -logDSPStackTrace t1.cpp
7/05/2008 01:04:39 Tntdboc process
INFO: Compiling t1.cpp
7/05/2008 01:04:42 SemanticActions isStorageClassSpecifierOptTypeIdInitDeclarator
INFO: 1:0 true [translation_unit, declaration_seq, declaration]
java.lang.Throwable: isStorageClassSpecifierOptTypeIdInitDeclarator
at tntdbo.symbol.SemanticActions.logDSP(SemanticActions.java:567)
at tntdbo.symbol.SemanticActions.isStorageClassSpecifierOptTypeIdInitDeclarator(SemanticActions.java:7341)
at tntdbo.dboc.TntdboParser$DFA76.specialStateTransition(TntdboParser.java:37160)
at org.antlr.runtime.DFA.predict(DFA.java:53)
at tntdbo.dboc.TntdboParser.declaration(TntdboParser.java:9179)
at tntdbo.dboc.TntdboParser.declaration_seq(TntdboParser.java:9106)
at tntdbo.dboc.TntdboParser.translation_unit(TntdboParser.java:414)
at tntdbo.dboc.Tntdboc.process(Tntdboc.java:170)
at tntdbo.dboc.Tntdboc.<init>(Tntdboc.java:99)
at tntdbo.dboc.Tntdboc.main(Tntdboc.java:127)
7/05/2008 01:04:42 SemanticActions isTypeSpecifierSeqAbstractDeclarator
INFO: 1:0 false [translation_unit, declaration_seq, declaration]
java.lang.Throwable: isTypeSpecifierSeqAbstractDeclarator
at tntdbo.symbol.SemanticActions.logDSP(SemanticActions.java:567)
at tntdbo.symbol.SemanticActions.isTypeSpecifierSeqAbstractDeclarator(SemanticActions.java:2448)
at tntdbo.dboc.TntdboParser$DFA76.specialStateTransition(TntdboParser.java:37160)
at org.antlr.runtime.DFA.predict(DFA.java:53)
at tntdbo.dboc.TntdboParser.declaration(TntdboParser.java:9179)
at tntdbo.dboc.TntdboParser.declaration_seq(TntdboParser.java:9106)
at tntdbo.dboc.TntdboParser.translation_unit(TntdboParser.java:414)
at tntdbo.dboc.Tntdboc.process(Tntdboc.java:170)
at tntdbo.dboc.Tntdboc.<init>(Tntdboc.java:99)
at tntdbo.dboc.Tntdboc.main(Tntdboc.java:127)
7/05/2008 01:04:42 SemanticActions isStorageClassSpecifierOptTypeIdNoInitDeclarator
INFO: 1:0 false [translation_unit, declaration_seq, declaration]
java.lang.Throwable: isStorageClassSpecifierOptTypeIdNoInitDeclarator
at tntdbo.symbol.SemanticActions.logDSP(SemanticActions.java:567)
at tntdbo.symbol.SemanticActions.isStorageClassSpecifierOptTypeIdNoInitDeclarator(SemanticActions.java:7391)
at tntdbo.dboc.TntdboParser$DFA76.specialStateTransition(TntdboParser.java:37160)
at org.antlr.runtime.DFA.predict(DFA.java:53)
at tntdbo.dboc.TntdboParser.declaration(TntdboParser.java:9179)
at tntdbo.dboc.TntdboParser.declaration_seq(TntdboParser.java:9106)
at tntdbo.dboc.TntdboParser.translation_unit(TntdboParser.java:414)
at tntdbo.dboc.Tntdboc.process(Tntdboc.java:170)
at tntdbo.dboc.Tntdboc.<init>(Tntdboc.java:99)
at tntdbo.dboc.Tntdboc.main(Tntdboc.java:127)
7/05/2008 01:04:42 SemanticActions isUnsignedShortInt
INFO: 1:0 false [translation_unit, declaration_seq, declaration]
java.lang.Throwable: isUnsignedShortInt
at tntdbo.symbol.SemanticActions.logDSP(SemanticActions.java:567)
at tntdbo.symbol.SemanticActions.isUnsignedShortInt(SemanticActions.java:6212)
at tntdbo.dboc.TntdboParser$DFA76.specialStateTransition(TntdboParser.java:37160)
at org.antlr.runtime.DFA.predict(DFA.java:53)
at tntdbo.dboc.TntdboParser.declaration(TntdboParser.java:9179)
at tntdbo.dboc.TntdboParser.declaration_seq(TntdboParser.java:9106)
at tntdbo.dboc.TntdboParser.translation_unit(TntdboParser.java:414)
at tntdbo.dboc.Tntdboc.process(Tntdboc.java:170)
at tntdbo.dboc.Tntdboc.<init>(Tntdboc.java:99)
at tntdbo.dboc.Tntdboc.main(Tntdboc.java:127)
7/05/2008 01:04:42 SemanticActions isUnsignedChar
INFO: 1:0 false [translation_unit, declaration_seq, declaration]
java.lang.Throwable: isUnsignedChar
at tntdbo.symbol.SemanticActions.logDSP(SemanticActions.java:567)
at tntdbo.symbol.SemanticActions.isUnsignedChar(SemanticActions.java:6108)
at tntdbo.dboc.TntdboParser$DFA76.specialStateTransition(TntdboParser.java:37160)
at org.antlr.runtime.DFA.predict(DFA.java:53)
at tntdbo.dboc.TntdboParser.declaration(TntdboParser.java:9179)
at tntdbo.dboc.TntdboParser.declaration_seq(TntdboParser.java:9106)
at tntdbo.dboc.TntdboParser.translation_unit(TntdboParser.java:414)
at tntdbo.dboc.Tntdboc.process(Tntdboc.java:170)
at tntdbo.dboc.Tntdboc.<init>(Tntdboc.java:99)
at tntdbo.dboc.Tntdboc.main(Tntdboc.java:127)
7/05/2008 01:04:42 SemanticActions isUnsignedLongInt
INFO: 1:0 false [translation_unit, declaration_seq, declaration]
java.lang.Throwable: isUnsignedLongInt
at tntdbo.symbol.SemanticActions.logDSP(SemanticActions.java:567)
at tntdbo.symbol.SemanticActions.isUnsignedLongInt(SemanticActions.java:6225)
at tntdbo.dboc.TntdboParser$DFA76.specialStateTransition(TntdboParser.java:37160)
at org.antlr.runtime.DFA.predict(DFA.java:53)
at tntdbo.dboc.TntdboParser.declaration(TntdboParser.java:9179)
at tntdbo.dboc.TntdboParser.declaration_seq(TntdboParser.java:9106)
at tntdbo.dboc.TntdboParser.translation_unit(TntdboParser.java:414)
at tntdbo.dboc.Tntdboc.process(Tntdboc.java:170)
at tntdbo.dboc.Tntdboc.<init>(Tntdboc.java:99)
at tntdbo.dboc.Tntdboc.main(Tntdboc.java:127)
7/05/2008 01:04:42 SemanticActions isUnsignedLongLongInt
INFO: 1:0 false [translation_unit, declaration_seq, declaration]
java.lang.Throwable: isUnsignedLongLongInt
at tntdbo.symbol.SemanticActions.logDSP(SemanticActions.java:567)
at tntdbo.symbol.SemanticActions.isUnsignedLongLongInt(SemanticActions.java:6238)
at tntdbo.dboc.TntdboParser$DFA76.specialStateTransition(TntdboParser.java:37160)
at org.antlr.runtime.DFA.predict(DFA.java:53)
at tntdbo.dboc.TntdboParser.declaration(TntdboParser.java:9179)
at tntdbo.dboc.TntdboParser.declaration_seq(TntdboParser.java:9106)
at tntdbo.dboc.TntdboParser.translation_unit(TntdboParser.java:414)
at tntdbo.dboc.Tntdboc.process(Tntdboc.java:170)
at tntdbo.dboc.Tntdboc.<init>(Tntdboc.java:99)
at tntdbo.dboc.Tntdboc.main(Tntdboc.java:127)
7/05/2008 01:04:42 SemanticActions isUnsignedInt
INFO: 1:0 true [translation_unit, declaration_seq, declaration]
java.lang.Throwable: isUnsignedInt
at tntdbo.symbol.SemanticActions.logDSP(SemanticActions.java:567)
at tntdbo.symbol.SemanticActions.isUnsignedInt(SemanticActions.java:6134)
at tntdbo.dboc.TntdboParser$DFA76.specialStateTransition(TntdboParser.java:37160)
at org.antlr.runtime.DFA.predict(DFA.java:53)
at tntdbo.dboc.TntdboParser.declaration(TntdboParser.java:9179)
at tntdbo.dboc.TntdboParser.declaration_seq(TntdboParser.java:9106)
at tntdbo.dboc.TntdboParser.translation_unit(TntdboParser.java:414)
at tntdbo.dboc.Tntdboc.process(Tntdboc.java:170)
at tntdbo.dboc.Tntdboc.<init>(Tntdboc.java:99)
at tntdbo.dboc.Tntdboc.main(Tntdboc.java:127)
7/05/2008 01:04:42 SemanticActions isInt
INFO: 1:9 false [translation_unit, declaration_seq, declaration, block_declaration, simple_declaration, decl_defn_declaration, type_id, type_specifier_seq, type_specifier, simple_type_specifier]
java.lang.Throwable: isInt
at tntdbo.symbol.SemanticActions.logDSP(SemanticActions.java:567)
at tntdbo.symbol.SemanticActions.isInt(SemanticActions.java:6199)
at tntdbo.dboc.TntdboParser.simple_type_specifier(TntdboParser.java:10938)
at tntdbo.dboc.TntdboParser.type_specifier(TntdboParser.java:10474)
at tntdbo.dboc.TntdboParser.type_specifier_seq(TntdboParser.java:16469)
at tntdbo.dboc.TntdboParser.type_id(TntdboParser.java:16390)
at tntdbo.dboc.TntdboParser.decl_defn_declaration(TntdboParser.java:9989)
at tntdbo.dboc.TntdboParser.simple_declaration(TntdboParser.java:9622)
at tntdbo.dboc.TntdboParser.block_declaration(TntdboParser.java:9436)
at tntdbo.dboc.TntdboParser.declaration(TntdboParser.java:9232)
at tntdbo.dboc.TntdboParser.declaration_seq(TntdboParser.java:9106)
at tntdbo.dboc.TntdboParser.translation_unit(TntdboParser.java:414)
at tntdbo.dboc.Tntdboc.process(Tntdboc.java:170)
at tntdbo.dboc.Tntdboc.<init>(Tntdboc.java:99)
at tntdbo.dboc.Tntdboc.main(Tntdboc.java:127)
7/05/2008 01:04:42 SemanticActions isStorageClassSpecifierOptTypeIdInitDeclarator
INFO: 1:9 true [translation_unit, declaration_seq, declaration, block_declaration, simple_declaration, decl_defn_declaration, type_id, type_specifier_seq, type_specifier, simple_type_specifier]
java.lang.Throwable: isStorageClassSpecifierOptTypeIdInitDeclarator
at tntdbo.symbol.SemanticActions.logDSP(SemanticActions.java:567)
at tntdbo.symbol.SemanticActions.isStorageClassSpecifierOptTypeIdInitDeclarator(SemanticActions.java:7341)
at tntdbo.dboc.TntdboParser.simple_type_specifier(TntdboParser.java:10938)
at tntdbo.dboc.TntdboParser.type_specifier(TntdboParser.java:10474)
at tntdbo.dboc.TntdboParser.type_specifier_seq(TntdboParser.java:16469)
at tntdbo.dboc.TntdboParser.type_id(TntdboParser.java:16390)
at tntdbo.dboc.TntdboParser.decl_defn_declaration(TntdboParser.java:9989)
at tntdbo.dboc.TntdboParser.simple_declaration(TntdboParser.java:9622)
at tntdbo.dboc.TntdboParser.block_declaration(TntdboParser.java:9436)
at tntdbo.dboc.TntdboParser.declaration(TntdboParser.java:9232)
at tntdbo.dboc.TntdboParser.declaration_seq(TntdboParser.java:9106)
at tntdbo.dboc.TntdboParser.translation_unit(TntdboParser.java:414)
at tntdbo.dboc.Tntdboc.process(Tntdboc.java:170)
at tntdbo.dboc.Tntdboc.<init>(Tntdboc.java:99)
at tntdbo.dboc.Tntdboc.main(Tntdboc.java:127)
7/05/2008 01:04:42 SemanticActions isTypeSpecifierSeqAbstractDeclarator
INFO: 1:9 false [translation_unit, declaration_seq, declaration, block_declaration, simple_declaration, decl_defn_declaration, type_id, type_specifier_seq, type_specifier, simple_type_specifier]
java.lang.Throwable: isTypeSpecifierSeqAbstractDeclarator
at tntdbo.symbol.SemanticActions.logDSP(SemanticActions.java:567)
at tntdbo.symbol.SemanticActions.isTypeSpecifierSeqAbstractDeclarator(SemanticActions.java:2448)
at tntdbo.dboc.TntdboParser.simple_type_specifier(TntdboParser.java:10938)
at tntdbo.dboc.TntdboParser.type_specifier(TntdboParser.java:10474)
at tntdbo.dboc.TntdboParser.type_specifier_seq(TntdboParser.java:16469)
at tntdbo.dboc.TntdboParser.type_id(TntdboParser.java:16390)
at tntdbo.dboc.TntdboParser.decl_defn_declaration(TntdboParser.java:9989)
at tntdbo.dboc.TntdboParser.simple_declaration(TntdboParser.java:9622)
at tntdbo.dboc.TntdboParser.block_declaration(TntdboParser.java:9436)
at tntdbo.dboc.TntdboParser.declaration(TntdboParser.java:9232)
at tntdbo.dboc.TntdboParser.declaration_seq(TntdboParser.java:9106)
at tntdbo.dboc.TntdboParser.translation_unit(TntdboParser.java:414)
at tntdbo.dboc.Tntdboc.process(Tntdboc.java:170)
at tntdbo.dboc.Tntdboc.<init>(Tntdboc.java:99)
at tntdbo.dboc.Tntdboc.main(Tntdboc.java:127)
7/05/2008 01:04:42 SemanticActions isStorageClassSpecifierOptTypeIdNoInitDeclarator
INFO: 1:9 false [translation_unit, declaration_seq, declaration, block_declaration, simple_declaration, decl_defn_declaration, type_id, type_specifier_seq, type_specifier, simple_type_specifier]
java.lang.Throwable: isStorageClassSpecifierOptTypeIdNoInitDeclarator
at tntdbo.symbol.SemanticActions.logDSP(SemanticActions.java:567)
at tntdbo.symbol.SemanticActions.isStorageClassSpecifierOptTypeIdNoInitDeclarator(SemanticActions.java:7391)
at tntdbo.dboc.TntdboParser.simple_type_specifier(TntdboParser.java:10938)
at tntdbo.dboc.TntdboParser.type_specifier(TntdboParser.java:10474)
at tntdbo.dboc.TntdboParser.type_specifier_seq(TntdboParser.java:16469)
at tntdbo.dboc.TntdboParser.type_id(TntdboParser.java:16390)
at tntdbo.dboc.TntdboParser.decl_defn_declaration(TntdboParser.java:9989)
at tntdbo.dboc.TntdboParser.simple_declaration(TntdboParser.java:9622)
at tntdbo.dboc.TntdboParser.block_declaration(TntdboParser.java:9436)
at tntdbo.dboc.TntdboParser.declaration(TntdboParser.java:9232)
at tntdbo.dboc.TntdboParser.declaration_seq(TntdboParser.java:9106)
at tntdbo.dboc.TntdboParser.translation_unit(TntdboParser.java:414)
at tntdbo.dboc.Tntdboc.process(Tntdboc.java:170)
at tntdbo.dboc.Tntdboc.<init>(Tntdboc.java:99)
at tntdbo.dboc.Tntdboc.main(Tntdboc.java:127)
7/05/2008 01:04:42 SemanticActions isSimpleTypeSpecifierConstructorCast
INFO: 1:9 false [translation_unit, declaration_seq, declaration, block_declaration, simple_declaration, decl_defn_declaration, type_id, type_specifier_seq, type_specifier, simple_type_specifier]
java.lang.Throwable: isSimpleTypeSpecifierConstructorCast
at tntdbo.symbol.SemanticActions.logDSP(SemanticActions.java:567)
at tntdbo.symbol.SemanticActions.isSimpleTypeSpecifierConstructorCast(SemanticActions.java:6302)
at tntdbo.dboc.TntdboParser.simple_type_specifier(TntdboParser.java:10938)
at tntdbo.dboc.TntdboParser.type_specifier(TntdboParser.java:10474)
at tntdbo.dboc.TntdboParser.type_specifier_seq(TntdboParser.java:16469)
at tntdbo.dboc.TntdboParser.type_id(TntdboParser.java:16390)
at tntdbo.dboc.TntdboParser.decl_defn_declaration(TntdboParser.java:9989)
at tntdbo.dboc.TntdboParser.simple_declaration(TntdboParser.java:9622)
at tntdbo.dboc.TntdboParser.block_declaration(TntdboParser.java:9436)
at tntdbo.dboc.TntdboParser.declaration(TntdboParser.java:9232)
at tntdbo.dboc.TntdboParser.declaration_seq(TntdboParser.java:9106)
at tntdbo.dboc.TntdboParser.translation_unit(TntdboParser.java:414)
at tntdbo.dboc.Tntdboc.process(Tntdboc.java:170)
at tntdbo.dboc.Tntdboc.<init>(Tntdboc.java:99)
at tntdbo.dboc.Tntdboc.main(Tntdboc.java:127)
7/05/2008 01:04:42 SemanticActions isAssignmentOperatorExpression
INFO: 1:9 false [translation_unit, declaration_seq, declaration, block_declaration, simple_declaration, decl_defn_declaration, type_id, type_specifier_seq, type_specifier, simple_type_specifier]
java.lang.Throwable: isAssignmentOperatorExpression
at tntdbo.symbol.SemanticActions.logDSP(SemanticActions.java:567)
at tntdbo.symbol.SemanticActions.isAssignmentOperatorExpression(SemanticActions.java:1618)
at tntdbo.dboc.TntdboParser.simple_type_specifier(TntdboParser.java:10938)
at tntdbo.dboc.TntdboParser.type_specifier(TntdboParser.java:10474)
at tntdbo.dboc.TntdboParser.type_specifier_seq(TntdboParser.java:16469)
at tntdbo.dboc.TntdboParser.type_id(TntdboParser.java:16390)
at tntdbo.dboc.TntdboParser.decl_defn_declaration(TntdboParser.java:9989)
at tntdbo.dboc.TntdboParser.simple_declaration(TntdboParser.java:9622)
at tntdbo.dboc.TntdboParser.block_declaration(TntdboParser.java:9436)
at tntdbo.dboc.TntdboParser.declaration(TntdboParser.java:9232)
at tntdbo.dboc.TntdboParser.declaration_seq(TntdboParser.java:9106)
at tntdbo.dboc.TntdboParser.translation_unit(TntdboParser.java:414)
at tntdbo.dboc.Tntdboc.process(Tntdboc.java:170)
at tntdbo.dboc.Tntdboc.<init>(Tntdboc.java:99)
at tntdbo.dboc.Tntdboc.main(Tntdboc.java:127)
7/05/2008 01:04:42 SemanticActions isNoCcQualifierName
INFO: 1:13 false [translation_unit, declaration_seq, declaration, block_declaration, simple_declaration, decl_defn_declaration, init_declarator_list, init_declarator]
java.lang.Throwable: isNoCcQualifierName
at tntdbo.symbol.SemanticActions.logDSP(SemanticActions.java:567)
at tntdbo.symbol.SemanticActions.isNoCcQualifierName(SemanticActions.java:3363)
at tntdbo.dboc.TntdboParser$DFA122.specialStateTransition(TntdboParser.java:38398)
at org.antlr.runtime.DFA.predict(DFA.java:53)
at tntdbo.dboc.TntdboParser.init_declarator(TntdboParser.java:15054)
at tntdbo.dboc.TntdboParser.init_declarator_list(TntdboParser.java:14939)
at tntdbo.dboc.TntdboParser.decl_defn_declaration(TntdboParser.java:9995)
at tntdbo.dboc.TntdboParser.simple_declaration(TntdboParser.java:9622)
at tntdbo.dboc.TntdboParser.block_declaration(TntdboParser.java:9436)
at tntdbo.dboc.TntdboParser.declaration(TntdboParser.java:9232)
at tntdbo.dboc.TntdboParser.declaration_seq(TntdboParser.java:9106)
at tntdbo.dboc.TntdboParser.translation_unit(TntdboParser.java:414)
at tntdbo.dboc.Tntdboc.process(Tntdboc.java:170)
at tntdbo.dboc.Tntdboc.<init>(Tntdboc.java:99)
at tntdbo.dboc.Tntdboc.main(Tntdboc.java:127)
7/05/2008 01:04:42 SemanticActions isPtrOperatorDeclarator
INFO: 1:13 false [translation_unit, declaration_seq, declaration, block_declaration, simple_declaration, decl_defn_declaration, init_declarator_list, init_declarator]
java.lang.Throwable: isPtrOperatorDeclarator
at tntdbo.symbol.SemanticActions.logDSP(SemanticActions.java:567)
at tntdbo.symbol.SemanticActions.isPtrOperatorDeclarator(SemanticActions.java:2189)
at tntdbo.dboc.TntdboParser$DFA122.specialStateTransition(TntdboParser.java:38398)
at org.antlr.runtime.DFA.predict(DFA.java:53)
at tntdbo.dboc.TntdboParser.init_declarator(TntdboParser.java:15054)
at tntdbo.dboc.TntdboParser.init_declarator_list(TntdboParser.java:14939)
at tntdbo.dboc.TntdboParser.decl_defn_declaration(TntdboParser.java:9995)
at tntdbo.dboc.TntdboParser.simple_declaration(TntdboParser.java:9622)
at tntdbo.dboc.TntdboParser.block_declaration(TntdboParser.java:9436)
at tntdbo.dboc.TntdboParser.declaration(TntdboParser.java:9232)
at tntdbo.dboc.TntdboParser.declaration_seq(TntdboParser.java:9106)
at tntdbo.dboc.TntdboParser.translation_unit(TntdboParser.java:414)
at tntdbo.dboc.Tntdboc.process(Tntdboc.java:170)
at tntdbo.dboc.Tntdboc.<init>(Tntdboc.java:99)
at tntdbo.dboc.Tntdboc.main(Tntdboc.java:127)
7/05/2008 01:04:42 SemanticActions isSimpleTemplateId
INFO: 1:13 false [translation_unit, declaration_seq, declaration, block_declaration, simple_declaration, decl_defn_declaration, init_declarator_list, init_declarator]
java.lang.Throwable: isSimpleTemplateId
at tntdbo.symbol.SemanticActions.logDSP(SemanticActions.java:567)
at tntdbo.symbol.SemanticActions.isSimpleTemplateId(SemanticActions.java:1838)
at tntdbo.dboc.TntdboParser$DFA122.specialStateTransition(TntdboParser.java:38398)
at org.antlr.runtime.DFA.predict(DFA.java:53)
at tntdbo.dboc.TntdboParser.init_declarator(TntdboParser.java:15054)
at tntdbo.dboc.TntdboParser.init_declarator_list(TntdboParser.java:14939)
at tntdbo.dboc.TntdboParser.decl_defn_declaration(TntdboParser.java:9995)
at tntdbo.dboc.TntdboParser.simple_declaration(TntdboParser.java:9622)
at tntdbo.dboc.TntdboParser.block_declaration(TntdboParser.java:9436)
at tntdbo.dboc.TntdboParser.declaration(TntdboParser.java:9232)
at tntdbo.dboc.TntdboParser.declaration_seq(TntdboParser.java:9106)
at tntdbo.dboc.TntdboParser.translation_unit(TntdboParser.java:414)
at tntdbo.dboc.Tntdboc.process(Tntdboc.java:170)
at tntdbo.dboc.Tntdboc.<init>(Tntdboc.java:99)
at tntdbo.dboc.Tntdboc.main(Tntdboc.java:127)
7/05/2008 01:04:42 SemanticActions isNoCcIdentifier
INFO: 1:13 true [translation_unit, declaration_seq, declaration, block_declaration, simple_declaration, decl_defn_declaration, init_declarator_list, init_declarator]
java.lang.Throwable: isNoCcIdentifier
at tntdbo.symbol.SemanticActions.logDSP(SemanticActions.java:567)
at tntdbo.symbol.SemanticActions.isNoCcIdentifier(SemanticActions.java:4103)
at tntdbo.dboc.TntdboParser$DFA122.specialStateTransition(TntdboParser.java:38398)
at org.antlr.runtime.DFA.predict(DFA.java:53)
at tntdbo.dboc.TntdboParser.init_declarator(TntdboParser.java:15054)
at tntdbo.dboc.TntdboParser.init_declarator_list(TntdboParser.java:14939)
at tntdbo.dboc.TntdboParser.decl_defn_declaration(TntdboParser.java:9995)
at tntdbo.dboc.TntdboParser.simple_declaration(TntdboParser.java:9622)
at tntdbo.dboc.TntdboParser.block_declaration(TntdboParser.java:9436)
at tntdbo.dboc.TntdboParser.declaration(TntdboParser.java:9232)
at tntdbo.dboc.TntdboParser.declaration_seq(TntdboParser.java:9106)
at tntdbo.dboc.TntdboParser.translation_unit(TntdboParser.java:414)
at tntdbo.dboc.Tntdboc.process(Tntdboc.java:170)
at tntdbo.dboc.Tntdboc.<init>(Tntdboc.java:99)
at tntdbo.dboc.Tntdboc.main(Tntdboc.java:127)
(DD unsigned int (DIRECT_DECLARATOR (UNQUALIFIED_IDENTIFIER x)))
goanna%
--
More information about the antlr-interest
mailing list