[antlr-interest] new user adapting java.g from antlr 2.7 for antlr 3.0.1
Doucette, Charles
cdoucette at vaultus.com
Tue Apr 15 14:08:02 PDT 2008
When I added this:
output=AST;
to the options,
then everything builds fine.
Perhaps the error could be improved?
Thanks,
Chuck
________________________________
From: Doucette, Charles
Sent: Tuesday, April 15, 2008 5:06 PM
To: 'Jim Idle'; antlr-interest at antlr.org
Subject: RE: [antlr-interest] new user adapting java.g from antlr 2.7 for antlr 3.0.1
Using the java.g for 1.5, I could generate the parser just fine without any errors.
After I commented out most of it, and added the following extra rules:
vscript :
// Next we have a series of zero or more import statements
// ( importDefinition )*
vscriptDeclaration*
EOF!
;
vscriptDeclaration :
actionDeclaration
| newDeclaration
;
actionDeclaration :
(/*actionType=*/Identifier ACTION /*actionName=*/Identifier? (FOR qualifiedName)?) /*actionBlock=*/block actionEpilogue?
// -> ^(ACTION $actionType $actionBlock $actionName? ^(FOR qualifiedName)? actionEpilogue?)
;
actionEpilogue :
asBlock ifBlock?
| ifBlock asBlock?
;
asBlock :
AS^ block
;
ifBlock :
IF^ block
;
newDeclaration :
NEW^ type Identifier formalParameters? block
;
I got the following errors again:
[17:03:08] error(10): internal error: C:\software\trunk\vsw\workspaces\eclipse\com.vaultus.studio.vscript.parser\src\com\vaultus\studio\vscript\parser\vscript1_5.g : java.lang.IllegalArgumentException: Can't find template tokenRefBang.st
org.antlr.stringtemplate.StringTemplateGroup.lookupTemplate(StringTemplateGroup.java:485)
org.antlr.stringtemplate.StringTemplateGroup.getInstanceOf(StringTemplateGroup.java:372)
org.antlr.stringtemplate.StringTemplateGroup.getInstanceOf(StringTemplateGroup.java:384)
org.antlr.codegen.CodeGenTreeWalker.getTokenElementST(CodeGenTreeWalker.java:160)
org.antlr.codegen.CodeGenTreeWalker.atom(CodeGenTreeWalker.java:1965)
org.antlr.codegen.CodeGenTreeWalker.element(CodeGenTreeWalker.java:1641)
org.antlr.codegen.CodeGenTreeWalker.element(CodeGenTreeWalker.java:1490)
org.antlr.codegen.CodeGenTreeWalker.alternative(CodeGenTreeWalker.java:1252)
org.antlr.codegen.CodeGenTreeWalker.block(CodeGenTreeWalker.java:1037)
org.antlr.codegen.CodeGenTreeWalker.rule(CodeGenTreeWalker.java:753)
org.antlr.codegen.CodeGenTreeWalker.rules(CodeGenTreeWalker.java:544)
org.antlr.codegen.CodeGenTreeWalker.grammarSpec(CodeGenTreeWalker.java:486)
org.antlr.codegen.CodeGenTreeWalker.grammar(CodeGenTreeWalker.java:333)
org.antlr.codegen.CodeGenerator.genRecognizer(CodeGenerator.java:406)
org.antlr.Tool.processGrammar(Tool.java:347)
org.antlr.Tool.process(Tool.java:268)
org.antlr.works.generate.CodeGenerate.generate(Unknown Source)
org.antlr.works.generate.CodeGenerate.run(Unknown Source)
java.lang.Thread.run(Unknown Source)
________________________________
From: antlr-interest-bounces at antlr.org [mailto:antlr-interest-bounces at antlr.org] On Behalf Of Jim Idle
Sent: Tuesday, April 15, 2008 2:51 PM
To: antlr-interest at antlr.org
Subject: Re: [antlr-interest] new user adapting java.g from antlr 2.7 for antlr 3.0.1
It means that somewhere you are trying to use both rewrite rules '->' and auto tree building directives such as ! or ^ in a rule. Looks like this is in your atom: rule somewhere. This is an error that will be cleaned up in a future release.
However, you should download the 3.0/3.1 examples grammars and use the Java grammar there as this has been recently updated to be 1.5 compatible.
Your other errors may be getting in the way too, regarding the m and t elements. Perhaps you still have m:rule instead of m=rule somewhere?
As I said though, abandoning what you have and using the 'official' java grammar for 3.1 (visit the downloads page and download the examples zip/tar) would seem to be a better bet. You might also find the book a reasonable investment for your company: http://www.pragprog.com/titles/tpantlr
Jim
From: antlr-interest-bounces at antlr.org [mailto:antlr-interest-bounces at antlr.org] On Behalf Of Doucette, Charles
Sent: Tuesday, April 15, 2008 11:29 AM
To: antlr-interest at antlr.org
Cc: Agranov, Gennady; George, Joseph
Subject: [antlr-interest] new user adapting java.g from antlr 2.7 for antlr 3.0.1
Our company's application development tool uses a scripting language which is very similar to Java (and ultimately generates Java).
I am writing a new editor for it - and the editor depends on a parser.
I am trying to use Antlr 3.0.1 to build a new parser for our language.
I was told to start with a Java 1.1 grammar - or perhaps 1.2, which I finally found in an old downloaded version of Antlr 2.7.
I manually performed the v2->v3 conversions necessary to get most of the grammar upgraded to v3.
Then I added a few of our language constructs.
Anyhow, I am getting the following errors, and I'm not sure how to resolve them.
Could someone please help me resolve the errors?
Thanks,
Chuck
[13:59:17] error(114): C:\software\trunk\vsw\workspaces\eclipse\com.vaultus.studio.vscript.parser\src\com\vaultus\studio\vscript\parser\vscript.g:0:0: attribute is not a token, parameter, or return value: m
[13:59:17] error(117): C:\software\trunk\vsw\workspaces\eclipse\com.vaultus.studio.vscript.parser\src\com\vaultus\studio\vscript\parser\vscript.g:0:0: missing attribute access on rule scope: t
[13:59:17] error(10): internal error: C:\software\trunk\vsw\workspaces\eclipse\com.vaultus.studio.vscript.parser\src\com\vaultus\studio\vscript\parser\vscript.g : java.lang.IllegalArgumentException: Can't find template tokenRefRuleRootTrack.st
org.antlr.stringtemplate.StringTemplateGroup.lookupTemplate(StringTemplateGroup.java:485)
org.antlr.stringtemplate.StringTemplateGroup.getInstanceOf(StringTemplateGroup.java:372)
org.antlr.stringtemplate.StringTemplateGroup.getInstanceOf(StringTemplateGroup.java:384)
org.antlr.stringtemplate.StringTemplateGroup.lookupTemplate(StringTemplateGroup.java:464)
org.antlr.stringtemplate.StringTemplateGroup.getInstanceOf(StringTemplateGroup.java:372)
org.antlr.stringtemplate.StringTemplateGroup.getInstanceOf(StringTemplateGroup.java:384)
org.antlr.codegen.CodeGenTreeWalker.getTokenElementST(CodeGenTreeWalker.java:160)
org.antlr.codegen.CodeGenTreeWalker.atom(CodeGenTreeWalker.java:1965)
org.antlr.codegen.CodeGenTreeWalker.element(CodeGenTreeWalker.java:1641)
org.antlr.codegen.CodeGenTreeWalker.element(CodeGenTreeWalker.java:1478)
org.antlr.codegen.CodeGenTreeWalker.element(CodeGenTreeWalker.java:1517)
org.antlr.codegen.CodeGenTreeWalker.alternative(CodeGenTreeWalker.java:1252)
org.antlr.codegen.CodeGenTreeWalker.block(CodeGenTreeWalker.java:1037)
org.antlr.codegen.CodeGenTreeWalker.ebnf(CodeGenTreeWalker.java:1804)
org.antlr.codegen.CodeGenTreeWalker.element(CodeGenTreeWalker.java:1637)
org.antlr.codegen.CodeGenTreeWalker.alternative(CodeGenTreeWalker.java:1252)
org.antlr.codegen.CodeGenTreeWalker.block(CodeGenTreeWalker.java:1037)
org.antlr.codegen.CodeGenTreeWalker.ebnf(CodeGenTreeWalker.java:1780)
org.antlr.codegen.CodeGenTreeWalker.element(CodeGenTreeWalker.java:1637)
org.antlr.codegen.CodeGenTreeWalker.alternative(CodeGenTreeWalker.java:1252)
org.antlr.codegen.CodeGenTreeWalker.block(CodeGenTreeWalker.java:1037)
org.antlr.codegen.CodeGenTreeWalker.rule(CodeGenTreeWalker.java:753)
org.antlr.codegen.CodeGenTreeWalker.rules(CodeGenTreeWalker.java:544)
org.antlr.codegen.CodeGenTreeWalker.grammarSpec(CodeGenTreeWalker.java:486)
org.antlr.codegen.CodeGenTreeWalker.grammar(CodeGenTreeWalker.java:333)
org.antlr.codegen.CodeGenerator.genRecognizer(CodeGenerator.java:406)
org.antlr.Tool.processGrammar(Tool.java:347)
org.antlr.Tool.process(Tool.java:268)
org.antlr.works.generate.CodeGenerate.generate(Unknown Source)
org.antlr.works.generate.CodeGenerate.run(Unknown Source)
java.lang.Thread.run(Unknown Source)
________________________________
Charles E. Doucette * 617-399-1122 * Vaultus Mobile Technologies, 263 Summer St., Boston, MA 02210 * http://www.vaultus.com<http://www.vaultus.com/>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.antlr.org/pipermail/antlr-interest/attachments/20080415/21d28949/attachment-0001.html
More information about the antlr-interest
mailing list