search for time out or Xwatchconversion T On Dec 16, 2010, at 8:56 AM, Justin Murray wrote:
> Hello, > > > > I have started adding {actions} to my grammar, and have noticed that the > code generation started taking much longer than before. I used the > -Xwatchconversion flag to try to get an idea of what is happening. What > I found is that the generation gets to the following point: > > > > attempting LL(1) DFA (d=627) for ()* loopback of 1409:3: (o= OR e2= > exprAND )* > > -------------------- > > attempting LL(1) DFA (d=628) for ()* loopback of 1417:3: (o= AND e2= > exprBOR )* > > -------------------- > > attempting LL(1) DFA (d=629) for ()* loopback of 1425:3: (o= BOR e2= > exprBXOR | o= BNOR e2= exprBXOR )* > > -------------------- > > attempting LL(1) DFA (d=630) for ()* loopback of 1434:3: (o= BXOR e2= > exprBAND )* > > -------------------- > > attempting LL(1) DFA (d=631) for ()* loopback of 1442:3: (o= BAND e2= > exprEqual | o= BNAND e2= exprEqual )* > > -------------------- > > attempting LL(1) DFA (d=632) for ()* loopback of 1451:3: (o= ( EQ | '=' > ) e2= exprComp | o= NE e2= exprComp )* > > -------------------- > > attempting LL(1) DFA (d=633) for ()* loopback of 1460:3: (o= LT_ e2= > exprShift | o= LE e2= exprShift | o= GT e2= exprShift | o= GE e2= > exprShift )* > > -------------------- > > attempting LL(1) DFA (d=634) for ()* loopback of 1471:3: (o= '<<' e2= > exprAdd | o= '>>' e2= exprAdd )* > > -------------------- > > attempting LL(1) DFA (d=635) for ()* loopback of 1481:3: (o= '+' e2= > exprMult | o= '-' e2= exprMult )* > > decision 635 not suitable for LL(1)-optimized DFA analysis > > -------------------- > > building lookahead DFA (d=635) for ()* loopback of 1481:3: (o= '+' e2= > exprMult | o= '-' e2= exprMult )* > > convert DFA state 0 (174414 nfa states) > > convert DFA state 29 (106645 nfa states) > > > > It then hangs on this last line for several minutes (3 or 4), before > proceeding on with this output: > > > > trying decision 635 again with k=1; reason: non-LL(*) && predicate > visible > > convert DFA state 0 (174414 nfa states) > > convert DFA state 29 (106645 nfa states) > > convert DFA state 30 (106645 nfa states) > > cost: 173 states, 160260 ms > > -------------------- > > attempting LL(1) DFA (d=636) for ()* loopback of 1490:3: (o= '*' e2= > exprPow | o= '/' e2= exprPow | o= '%' e2= exprPow )* > > > > While it is possible that I may have inadvertently changed the syntax, > for the most part I was just adding in my action code. The first > question is, should adding action code have any effect on the time it > takes to generate the code? That aside, what would cause the lengthy > hangup on that one decision? The rest of the decisions go by very > quickly. > > > > Thanks, > > Justin Murray > Software Engineer > jmur...@aerotech.com > > Aerotech, Inc. > 101 Zeta Drive > Pittsburgh, PA 15238 > 412-963-7470 > > > > > List: http://www.antlr.org/mailman/listinfo/antlr-interest > Unsubscribe: > http://www.antlr.org/mailman/options/antlr-interest/your-email-address List: http://www.antlr.org/mailman/listinfo/antlr-interest Unsubscribe: http://www.antlr.org/mailman/options/antlr-interest/your-email-address -- You received this message because you are subscribed to the Google Groups "il-antlr-interest" group. To post to this group, send email to il-antlr-inter...@googlegroups.com. To unsubscribe from this group, send email to il-antlr-interest+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/il-antlr-interest?hl=en.