[il-antlr-interest: 33031] [antlr-interest] alternatives to linq LambdaExpression Compile method

2011-07-05 Thread Costa Basil
I have a program that has to compile and execute formulas on the fly. I am 
using 
antlr to build linq expression trees which I then compile using the 
LambdaExpression.Compile() method.

The problem is that this method is far too slow. Are there any other 
alternatives perhaps commercial that would be faster?

Any other suggestions?

Thanks

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.



[il-antlr-interest: 33032] [antlr-interest] Line start vs non-line ...

2011-07-05 Thread James Ladd

Hi All,

I hope this is a simple request to answer.

I have a simple preprocessor I want to write but I can't get the rules right.
I think I am regex challenged.

In simple terms I want to have this:

lines
   :  (lineStartingWithPlus | lineNotStartingWithPlus)*
   ;


If these were rules A and B respectively then ...

+ this line matches A
this line matches B

Please can someone help ?

Rgs, James.
  

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.



[il-antlr-interest: 33033] Re: [antlr-interest] Line start vs non-line ...

2011-07-05 Thread Bart Kiers
Hi James,

Something like this would do the trick:

lines
  :  (LineStartingWithPlus | LineNotStartingWithPlus | LineBreak)* EOF
  ;

LineStartingWithPlus
  :  '+' ~('\r' | '\n')*
  ;

LineNotStartingWithPlus
  :  ~'+' ~('\r' | '\n')*
  ;

LineBreak
  :  ('\r'? '\n' | '\r')
  ;


Regards,

Bart.


On Tue, Jul 5, 2011 at 12:18 PM, James Ladd james_l...@hotmail.com wrote:


 Hi All,

 I hope this is a simple request to answer.

 I have a simple preprocessor I want to write but I can't get the rules
 right.
 I think I am regex challenged.

 In simple terms I want to have this:

 lines
   :  (lineStartingWithPlus | lineNotStartingWithPlus)*
   ;


 If these were rules A and B respectively then ...

 + this line matches A
 this line matches B

 Please can someone help ?

 Rgs, James.


 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.



[il-antlr-interest: 33035] [antlr-interest] same character for multiple rules?

2011-07-05 Thread Roy Metzger
Hi and Hello to everyone,

I would really appreciate any hints and advices if someone can give my relating 
to my problem. I would like to know how to deal with the situation where you 
would use same character for multiple rules/operations. For example in Visual 
Basic you use '=' for both variable assignment (a=10) and for comparison 
(if(a=10 then ).

Clearly, using assignment rule:assignment:

  ID '=' expression;

and later relation rule:
relation:
atom ('=' atom)*;

gives out error like rule relation has non-LL(*) decision due to recursive 
rule  invocations reachable from alts 1,6.  Resolve by left-factoring or using 
syntactic predicates or using backtrack=true option.
And, yes, it is clear that antlr can not decide when to use assignment and when 
comparison, makes sense. But, my question is, how to deal with this? I'm not 
interested in using different characters for rules(e.x. '==' etc.). Is this 
where I have to look into the backtracking? Or is there some other way, that 
I'm not aware of?


Help would be most appreciated,
Lee

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.



[il-antlr-interest: 33037] [antlr-interest] grammar for mixed languages syntax

2011-07-05 Thread Sébastien Kirche
Hi,

I would like to build a grammar for a language that can embed sql
compliant statements.

Basicaly the language is a basic-like case insensitive syntax (with
for .. next, if .. end if classic syntax), but you can also insert
direct sql statement (that must end by semicolon), for example for
selecting data into a variable, or deleting, calling a stored
procedure... whatever. If you wonder what language I am mentioning, it
is the PowerScript language that is used by Sybase's Powerbuilder.

Could you give me some pointers about how to proceed, if that kind of
parsing is possible with antlr ?

Thanks.
-- 
Sébastien Kirche

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.



[il-antlr-interest: 33038] Re: [antlr-interest] grammar for mixed languages syntax

2011-07-05 Thread Yauhen Yakimovich
Hi Sébastien,

What you are trying to build as an interpreter of a language with
dynamical features.
Hence simple preprocessor will not fit.

Try to look for island grammars. Search the example folder for this.


2011/7/5 Sébastien Kirche sebastien.kir...@gmail.com:
 Hi,

 I would like to build a grammar for a language that can embed sql
 compliant statements.

 Basicaly the language is a basic-like case insensitive syntax (with
 for .. next, if .. end if classic syntax), but you can also insert
 direct sql statement (that must end by semicolon), for example for
 selecting data into a variable, or deleting, calling a stored
 procedure... whatever. If you wonder what language I am mentioning, it
 is the PowerScript language that is used by Sybase's Powerbuilder.

 Could you give me some pointers about how to proceed, if that kind of
 parsing is possible with antlr ?

 Thanks.
 --
 Sébastien Kirche

 List: http://www.antlr.org/mailman/listinfo/antlr-interest
 Unsubscribe: 
 http://www.antlr.org/mailman/options/antlr-interest/your-email-address




-- 
With best regards,
Y.Y.

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.



[il-antlr-interest: 33044] Re: [antlr-interest] grammar for mixed languages syntax

2011-07-05 Thread Sébastien Kirche
2011/7/5 Yauhen Yakimovich eugeny.yakimovi...@gmail.com:
 Hi Sébastien,

 What you are trying to build as an interpreter of a language with
 dynamical features.
 Hence simple preprocessor will not fit.

 Try to look for island grammars. Search the example folder for this.

Thanks for the tip.
Indeed the javadoc parsing within the simple language seems similar to
my embedded sql parsing. It will help.

-- 
Sébastien Kirche

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.



[il-antlr-interest: 33045] Re: [antlr-interest] alternatives to linq LambdaExpression Compile method

2011-07-05 Thread Costa Basil
Hi, Sam

thank you for your answer.

Just to be clear my  problem is that the Compile method is too slow. The code 
that gets  executed as a result of the compilation is fine.

Costa

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.



[il-antlr-interest: 33046] Re: [antlr-interest] same character for multiple rules?

2011-07-05 Thread Jim Idle
For visual basic you need a much more involved rule:


assignStatement
: lvalues
(
  // Assignments
  //
  (
compoundBinaryOperator
  )

  expression

- ^(compoundBinaryOperator lvalues
expression)

| // Without any operators, then we must have had
an invocation
  //
- ^(CALL lvalues)
)
;


compoundBinaryOperator
: OPCATEQ
| OPEXPEQ
| OPMULEQ
| OPDIVEQ
| OPIDIVEQ
| OPPLUSEQ
| OPMINUSEQ
| OPSLEQ
| OPSREQ
| OPEQ
;


Then your expression tree can use OPEQ in the correct precedence order as
needed.

I have commercially available grammars for VB.Net and C# if you (or anyone
else) are interested.

Jim

 -Original Message-
 From: antlr-interest-boun...@antlr.org [mailto:antlr-interest-
 boun...@antlr.org] On Behalf Of Roy Metzger
 Sent: Tuesday, July 05, 2011 5:00 AM
 To: antlr-interest@antlr.org
 Subject: [antlr-interest] same character for multiple rules?

 Hi and Hello to everyone,

 I would really appreciate any hints and advices if someone can give my
 relating to my problem. I would like to know how to deal with the
 situation where you would use same character for multiple
 rules/operations. For example in Visual Basic you use '=' for both
 variable assignment (a=10) and for comparison (if(a=10 then ).

 Clearly, using assignment rule:assignment:

   ID '=' expression;

 and later relation rule:
 relation:
 atom ('=' atom)*;

 gives out error like rule relation has non-LL(*) decision due to
 recursive rule  invocations reachable from alts 1,6.  Resolve by left-
 factoring or using syntactic predicates or using backtrack=true option.
 And, yes, it is clear that antlr can not decide when to use assignment
 and when comparison, makes sense. But, my question is, how to deal with
 this? I'm not interested in using different characters for rules(e.x.
 '==' etc.). Is this where I have to look into the backtracking? Or is
 there some other way, that I'm not aware of?


 Help would be most appreciated,
 Lee

 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.



[il-antlr-interest: 33047] Re: [antlr-interest] antlr 3.4 beta 4 (release candidate)

2011-07-05 Thread Terence Parr
ah. right. -Xmx500M brings it right up.

ok, fixed. thanks!

Ter
On Jul 5, 2011, at 7:23 AM, Petteri Räty wrote:

 I can reproduce the exception:
 
 attempting LL(1) DFA (d=425) for 639:29: ( DIGIT )?
 error(10):  internal error: libbash.g : java.lang.NullPointerException
 org.antlr.grammar.v3.CodeGenTreeWalker.atom(CodeGenTreeWalker.java:5250)
 org.antlr.grammar.v3.CodeGenTreeWalker.element(CodeGenTreeWalker.java:3981)
 org.antlr.grammar.v3.CodeGenTreeWalker.alternative(CodeGenTreeWalker.java:3753)
 org.antlr.grammar.v3.CodeGenTreeWalker.block(CodeGenTreeWalker.java:3125)
 org.antlr.grammar.v3.CodeGenTreeWalker.ebnf(CodeGenTreeWalker.java:4878)
 org.antlr.grammar.v3.CodeGenTreeWalker.element(CodeGenTreeWalker.java:3967)
 org.antlr.grammar.v3.CodeGenTreeWalker.alternative(CodeGenTreeWalker.java:3753)
 org.antlr.grammar.v3.CodeGenTreeWalker.block(CodeGenTreeWalker.java:3125)
 org.antlr.grammar.v3.CodeGenTreeWalker.ebnf(CodeGenTreeWalker.java:4878)
 org.antlr.grammar.v3.CodeGenTreeWalker.element(CodeGenTreeWalker.java:3967)
 org.antlr.grammar.v3.CodeGenTreeWalker.alternative(CodeGenTreeWalker.java:3753)
 org.antlr.grammar.v3.CodeGenTreeWalker.block(CodeGenTreeWalker.java:3125)
 org.antlr.grammar.v3.CodeGenTreeWalker.rule(CodeGenTreeWalker.java:2379)
 org.antlr.grammar.v3.CodeGenTreeWalker.rules(CodeGenTreeWalker.java:1534)
 org.antlr.grammar.v3.CodeGenTreeWalker.grammarSpec(CodeGenTreeWalker.java:1438)
 org.antlr.grammar.v3.CodeGenTreeWalker.grammar_(CodeGenTreeWalker.java:506)
 org.antlr.codegen.CodeGenerator.genRecognizer(CodeGenerator.java:421)
 org.antlr.Tool.generateRecognizer(Tool.java:655)
 org.antlr.Tool.process(Tool.java:468)
 org.antlr.Tool.main(Tool.java:93)
 make: *** [cgrammar.run] Error 1
 
 real0m12.480s
 user0m21.972s
 sys 0m1.509s
 
 On 05.07.2011 04:10, Mu Qiao wrote:
 There is a rule that might take longer time. But it won't take longer
 than 30 seconds to get the error. I used
 antlr-master-3.4-beta4-completejar.jar and this is the command I used:
 java -classpath antlr-master-3.4-beta4-completejar.jar org.antlr.Tool
 -Xwatchconversion libbash.g
 
 On Tue, Jul 5, 2011 at 4:53 AM, Terence Parr pa...@cs.usfca.edu wrote:
 Hi. still spins for me. sorry.
 Ter
 On Jul 4, 2011, at 1:56 AM, Mu Qiao wrote:
 
 I fixed my grammar so that ANTLR doesn't spin forever on it. Then
 there's a new problem:
 
 attempting LL(1) DFA (d=419) for 632:29: ( DIGIT )?
 error(10):  internal error: libbash.g : java.lang.NullPointerException
 org.antlr.grammar.v3.CodeGenTreeWalker.atom(CodeGenTreeWalker.java:5250)
 org.antlr.grammar.v3.CodeGenTreeWalker.element(CodeGenTreeWalker.java:3981)
 org.antlr.grammar.v3.CodeGenTreeWalker.alternative(CodeGenTreeWalker.java:3753)
 org.antlr.grammar.v3.CodeGenTreeWalker.block(CodeGenTreeWalker.java:3125)
 org.antlr.grammar.v3.CodeGenTreeWalker.ebnf(CodeGenTreeWalker.java:4878)
 org.antlr.grammar.v3.CodeGenTreeWalker.element(CodeGenTreeWalker.java:3967)
 org.antlr.grammar.v3.CodeGenTreeWalker.alternative(CodeGenTreeWalker.java:3753)
 org.antlr.grammar.v3.CodeGenTreeWalker.block(CodeGenTreeWalker.java:3125)
 org.antlr.grammar.v3.CodeGenTreeWalker.ebnf(CodeGenTreeWalker.java:4878)
 org.antlr.grammar.v3.CodeGenTreeWalker.element(CodeGenTreeWalker.java:3967)
 org.antlr.grammar.v3.CodeGenTreeWalker.alternative(CodeGenTreeWalker.java:3753)
 org.antlr.grammar.v3.CodeGenTreeWalker.block(CodeGenTreeWalker.java:3125)
 org.antlr.grammar.v3.CodeGenTreeWalker.rule(CodeGenTreeWalker.java:2379)
 org.antlr.grammar.v3.CodeGenTreeWalker.rules(CodeGenTreeWalker.java:1534)
 org.antlr.grammar.v3.CodeGenTreeWalker.grammarSpec(CodeGenTreeWalker.java:1438)
 org.antlr.grammar.v3.CodeGenTreeWalker.grammar_(CodeGenTreeWalker.java:506)
 org.antlr.codegen.CodeGenerator.genRecognizer(CodeGenerator.java:421)
 org.antlr.Tool.generateRecognizer(Tool.java:655)
 org.antlr.Tool.process(Tool.java:468)
 org.antlr.Tool.main(Tool.java:93)
 
 ANTLR-3.3 doesn't have that problem. The attachment is my grammar.
 
 On Wed, Jun 29, 2011 at 4:56 AM, Terence Parr pa...@cs.usfca.edu wrote:
 http://antlr.org/download
 
 a few more things fixed.
 
 Ter
 
 List: http://www.antlr.org/mailman/listinfo/antlr-interest
 Unsubscribe: 
 http://www.antlr.org/mailman/options/antlr-interest/your-email-address
 
 
 
 
 --
 Best wishes,
 Mu Qiao
 GnuPG fingerprint: 92B1 B0C4 8D14 F8C4 EFA5  3ACC 30B3 0DE4 17B1 57E9
 libbash.g
 
 
 
 
 
 
 
 
 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 

[il-antlr-interest: 33048] [antlr-interest] input.TokenStream is null

2011-07-05 Thread Dominik Halfkann
I'm trying to make a TreeWalker for a tree like this:
input: int x = 3
output AST: ^(VARDEF int x 3)

My parser works just fine and also generates an AST like shown above, but
whenever I want to resolve anything from the AST, like with
$variableType.text, there is allways a NullReferenceException in the
generated C# 2.0 TreeWalker.

My TreeWalker:

tree grammar SGLTreeWalker;
options {

tokenVocab = SGL;

language = 'CSharp2';

}


[...]

compilationUnit
: (statement)+
;

statement
:   variableDefinitionList
;

variableDefinitionList
: ^(VARDEF variableType variableName expression) {
Console.WriteLine($variableType.text); }
;


The problematic generated part looks like this:

Match(input, Token.UP, null);
Console.WriteLine(((variableType1 != null) ? input.TokenStream.ToString(

input.TreeAdaptor.GetTokenStartIndex(variableType1.Start),

input.TreeAdaptor.GetTokenStopIndex(variableType1.Start)) : null));

It turns out that input.TokenStream is null so it throws
the NullReferenceException. I read that this can happen if the
used TreeNodeStream isn't buffered, but I used the CommonTreeNodeStream so
it should be buffered I think. Any idea on what's going wrong?

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.



[il-antlr-interest: 33049] Re: [antlr-interest] antlr 3.4 beta 4 (release candidate)

2011-07-05 Thread Mu Qiao
I'm not sure if this problem is related to antlr or the c runtime.
I've already fixed the code for the input stream change which Jim
mentioned in another email. But when I compile the generated code, I
get a lot of errors like the following:
libbashLexer.cpp::xx: error: '_empty' was not declared in this scope
libbashParser.cpp::xx: error: '_empty' was not declared in this scope
And some errors like:
libbashParser.cpp::xx: error: 'FOLLOW_set_in_flcomment420' was not
declared in this scope

My C runtime is 3.4-beta4.

On Wed, Jul 6, 2011 at 4:29 AM, Terence Parr pa...@cs.usfca.edu wrote:
 ah. right. -Xmx500M brings it right up.

 ok, fixed. thanks!

 Ter
 On Jul 5, 2011, at 7:23 AM, Petteri Räty wrote:

 I can reproduce the exception:

 attempting LL(1) DFA (d=425) for 639:29: ( DIGIT )?
 error(10):  internal error: libbash.g : java.lang.NullPointerException
 org.antlr.grammar.v3.CodeGenTreeWalker.atom(CodeGenTreeWalker.java:5250)
 org.antlr.grammar.v3.CodeGenTreeWalker.element(CodeGenTreeWalker.java:3981)
 org.antlr.grammar.v3.CodeGenTreeWalker.alternative(CodeGenTreeWalker.java:3753)
 org.antlr.grammar.v3.CodeGenTreeWalker.block(CodeGenTreeWalker.java:3125)
 org.antlr.grammar.v3.CodeGenTreeWalker.ebnf(CodeGenTreeWalker.java:4878)
 org.antlr.grammar.v3.CodeGenTreeWalker.element(CodeGenTreeWalker.java:3967)
 org.antlr.grammar.v3.CodeGenTreeWalker.alternative(CodeGenTreeWalker.java:3753)
 org.antlr.grammar.v3.CodeGenTreeWalker.block(CodeGenTreeWalker.java:3125)
 org.antlr.grammar.v3.CodeGenTreeWalker.ebnf(CodeGenTreeWalker.java:4878)
 org.antlr.grammar.v3.CodeGenTreeWalker.element(CodeGenTreeWalker.java:3967)
 org.antlr.grammar.v3.CodeGenTreeWalker.alternative(CodeGenTreeWalker.java:3753)
 org.antlr.grammar.v3.CodeGenTreeWalker.block(CodeGenTreeWalker.java:3125)
 org.antlr.grammar.v3.CodeGenTreeWalker.rule(CodeGenTreeWalker.java:2379)
 org.antlr.grammar.v3.CodeGenTreeWalker.rules(CodeGenTreeWalker.java:1534)
 org.antlr.grammar.v3.CodeGenTreeWalker.grammarSpec(CodeGenTreeWalker.java:1438)
 org.antlr.grammar.v3.CodeGenTreeWalker.grammar_(CodeGenTreeWalker.java:506)
 org.antlr.codegen.CodeGenerator.genRecognizer(CodeGenerator.java:421)
 org.antlr.Tool.generateRecognizer(Tool.java:655)
 org.antlr.Tool.process(Tool.java:468)
 org.antlr.Tool.main(Tool.java:93)
 make: *** [cgrammar.run] Error 1

 real    0m12.480s
 user    0m21.972s
 sys     0m1.509s

 On 05.07.2011 04:10, Mu Qiao wrote:
 There is a rule that might take longer time. But it won't take longer
 than 30 seconds to get the error. I used
 antlr-master-3.4-beta4-completejar.jar and this is the command I used:
 java -classpath antlr-master-3.4-beta4-completejar.jar org.antlr.Tool
 -Xwatchconversion libbash.g

 On Tue, Jul 5, 2011 at 4:53 AM, Terence Parr pa...@cs.usfca.edu wrote:
 Hi. still spins for me. sorry.
 Ter
 On Jul 4, 2011, at 1:56 AM, Mu Qiao wrote:

 I fixed my grammar so that ANTLR doesn't spin forever on it. Then
 there's a new problem:

 attempting LL(1) DFA (d=419) for 632:29: ( DIGIT )?
 error(10):  internal error: libbash.g : java.lang.NullPointerException
 org.antlr.grammar.v3.CodeGenTreeWalker.atom(CodeGenTreeWalker.java:5250)
 org.antlr.grammar.v3.CodeGenTreeWalker.element(CodeGenTreeWalker.java:3981)
 org.antlr.grammar.v3.CodeGenTreeWalker.alternative(CodeGenTreeWalker.java:3753)
 org.antlr.grammar.v3.CodeGenTreeWalker.block(CodeGenTreeWalker.java:3125)
 org.antlr.grammar.v3.CodeGenTreeWalker.ebnf(CodeGenTreeWalker.java:4878)
 org.antlr.grammar.v3.CodeGenTreeWalker.element(CodeGenTreeWalker.java:3967)
 org.antlr.grammar.v3.CodeGenTreeWalker.alternative(CodeGenTreeWalker.java:3753)
 org.antlr.grammar.v3.CodeGenTreeWalker.block(CodeGenTreeWalker.java:3125)
 org.antlr.grammar.v3.CodeGenTreeWalker.ebnf(CodeGenTreeWalker.java:4878)
 org.antlr.grammar.v3.CodeGenTreeWalker.element(CodeGenTreeWalker.java:3967)
 org.antlr.grammar.v3.CodeGenTreeWalker.alternative(CodeGenTreeWalker.java:3753)
 org.antlr.grammar.v3.CodeGenTreeWalker.block(CodeGenTreeWalker.java:3125)
 org.antlr.grammar.v3.CodeGenTreeWalker.rule(CodeGenTreeWalker.java:2379)
 org.antlr.grammar.v3.CodeGenTreeWalker.rules(CodeGenTreeWalker.java:1534)
 org.antlr.grammar.v3.CodeGenTreeWalker.grammarSpec(CodeGenTreeWalker.java:1438)
 org.antlr.grammar.v3.CodeGenTreeWalker.grammar_(CodeGenTreeWalker.java:506)
 org.antlr.codegen.CodeGenerator.genRecognizer(CodeGenerator.java:421)
 org.antlr.Tool.generateRecognizer(Tool.java:655)
 org.antlr.Tool.process(Tool.java:468)
 org.antlr.Tool.main(Tool.java:93)

 ANTLR-3.3 doesn't have that problem. The attachment is my grammar.

 On Wed, Jun 29, 2011 at 4:56 AM, Terence Parr pa...@cs.usfca.edu wrote:
 http://antlr.org/download

 a few more things fixed.

 Ter

 List: http://www.antlr.org/mailman/listinfo/antlr-interest
 Unsubscribe: 
 http://www.antlr.org/mailman/options/antlr-interest/your-email-address




 --
 Best wishes,
 Mu Qiao
 GnuPG fingerprint: 92B1 B0C4 8D14 F8C4 EFA5  3ACC 30B3 0DE4 17B1 57E9
 libbash.g








 List: