[il-antlr-interest: 34411] [antlr-interest] Rewrite action causing error in parser?
Hi all, I have a grammar I'm currently working on (posted in another thread the other day), which has the following rule: meth_call_expr : (id = IDENTIFIER DOT)? func_call_expr - ^(METHOD_CALL { ($id==null) ? adaptor.create(SELF, SELF) : adaptor.create(IDENTIFIER, $id.getText()) } func_call_expr) ; As you can see, I'm using an action in the rewrite rule to insert either the (optional) IDENTIFIER, or an imaginary SELF node if IDENTIFIER is not specified. The problem I'm having is that this generates a parser that won't compile. Specifically, it generates the following bit of code (edited by hand for brevity and to highlight the error): /* [ CODE ] */ // $ANTLR start synpred6_BasicLang public final void synpred6_BasicLang_fragment() throws RecognitionException { Token =null; // -- ERROR HERE /* ... later on ... */ switch (alt23) { case 1 : // C:\\Users\\chantelle\\workspace\\basiclang\\src\\com\\roscopeco\\basiclang\\parser\\BasicLang.g:99:8: id= IDENTIFIER DOT { id=(Token)match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_synpred6_BasicLang232); if (state.failed) return ; // -- AND HERE match(input,DOT,FOLLOW_DOT_in_synpred6_BasicLang234); if (state.failed) return ; } break; } /* [ END ] */ Obviously the problem is the Token =null line, which should be Token id = null. Changing it by hand fixes the errors and makes the parser work as expected. So I have two questions - is this the right way to go about inserting an imaginary token if an optional token isn't in the input, and if so, what am I doing wrong to cause the error above? Thanks in advance, Ross 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: 34412] Re: [antlr-interest] Problem with autotools while using antlr3 C runtime
Thank you for your answer. @kirby.bohling when we use no-define, PACKAGE and VERSION will not be #define'd in config.h , other PACKAGE_* variables will still be #define'd, so it's not that way. @Jim Don't you think that it is better not to distribute the antlr3config.h along with include files? the apache portable runtime (apr) also use autotools, http://apr.apache.org/ apr also generate a config file AC_CONFIG_HEADER(include/arch/unix/apr_private.h) but when we install this library using make install, the config file apr_private.h is not included in the include files. personally speaking, the generated config file should be private, that is to say, we should include the generated config file in *.c source, not *.h headers thank you again. BTW, I wrote a tutorial about antlr3 C runtime, this is very simple and crude. it is in chinese http://hellojinjie.iteye.com/admin/blogs/1197529 On Tue, Oct 11, 2011 at 11:35 PM, Jim Idle j...@temporal-wave.com wrote: Yeah, I think that we can probably do that as the C runtime does not reference those defines. Ideally, you should not encounter a need to include config.h from two separate non-sub-packages. Jim -Original Message- From: antlr-interest-boun...@antlr.org [mailto:antlr-interest- boun...@antlr.org] On Behalf Of Kirby Bohling Sent: Tuesday, October 11, 2011 7:01 AM To: 金杰 Cc: antlr-interest@antlr.org Subject: Re: [antlr-interest] Problem with autotools while using antlr3 C runtime Use no-define in the configure.ac file. AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) See: http://gcc.gnu.org/svn/gcc/branches/cilkplus/libstdc++-v3/configure.ac or http://www.delorie.com/gnu/docs/automake/automake_24.html I think this is a sign you or the other package are using the config.h file wrong, but that's a different discussion. At least that's my guess, I haven't tried it. Kirby On Tue, Oct 11, 2011 at 3:36 AM, 金杰 hellojin...@gmail.com wrote: Hi All, the antlr3 C runtime is build with autotools. the autotools generate a header antlr3config.h, this header has defined: #define PACKAGE libantlr3c my project is also build with autotools, there is a header config.h, which define: #define PACKAGE polaris when I compile my code, there is an error: In file included from /opt/antlr3c/include/antlr3defs.h:246, from /opt/antlr3c/include/antlr3.h:33, from PolarisAdmin.cc:13: /opt/antlr3c/include/antlr3config.h:96:1: error: PACKAGE redefined the error indicate that PACKAGE has redefined. is it a bug? (: how can I avoid this error? thank you in advance. -- hellojinjie 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 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: 34413] [antlr-interest] [Q] how rewrite tree for this simple rule with alternatives?
Hi All, Hi Terrence, What still wonders me a lot in ANTLR v3 is that fact that we must quite often to use helper rules_leafs to build trees. EXAMPLE in v2 rule looks as alter_trigger_statement :alter! trigger! trigger_name ( enable | disable ) { ## = #(#[ALTER_TRIGGER, ALTER_TRIGGER],##); } ; ANTLR3 working solution: alter_trigger_statement :alter_trigger_statement_leaf - ^( ALTER_TRIGGER alter_trigger_statement_leaf ) ; alter_trigger_statement_leaf :T_ALTER! T_TRIGGER! trigger_name ( T_ENABLE | T_DISABLE ) ; Because attempts to make it in SINGLE rule way -- not works: alter_trigger_statement :T_ALTER T_TRIGGER trigger_name ( T_ENABLE | T_DISABLE ) - ^( ALTER_TRIGGER trigger_name (T_ENABLE | T_DISABLE) ) ; PROBLEM comes from this alternative (T_ENABLE | T_DISABLE ) ... We cannot label it right? And it is wrong make both tokens optional alter_trigger_statement :T_ALTER T_TRIGGER trigger_name ( T_ENABLE | T_DISABLE ) - ^( ALTER_TRIGGER trigger_name T_ENABLE? T_DISABLE? ) ; And we have many such places, when IMAGINARY token, added in v2 as easy as one line, requires in v3 adding one more RULE. As for me, this not sounds, as more clear and powerful way to build trees. Am I really blind and not see some easy way for v3? In examples of ANTLR I have not found any that use imaginary tokens btw... Thank you for any ideas... -- Best regards, Ruslan Zasukhin VP Engineering and New Technology Paradigma Software, Inc Valentina - Joining Worlds of Information http://www.paradigmasoft.com [I feel the need: the need for speed] 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: 34416] [antlr-interest] Custom ASTLabelType - setParent called with Null?
Hello, I'm still relatively new to antlr, but basically I'm trying to generate an AST and auto-populate a Neo4j Graph. My initial thought was to use a custom ASTLabelType with my object over-riding the setParent method of the CommonTree to build the relationship. However, on a very simple grammar (Expr.g) parsing the input of 1+2\n of the 10 calls to setParent, 6 of the calls where passed a null token? Any thoughts on this? The grammar, extended commonTree, and test case are below (however, none of this will run as the overall project is bigger than this one piece). Thanks in advance if anyone can clue me into why there are so many calls to setParent passing a null token in. --Jeremy //Eval Grammar grammar Eval; options { ASTLabelType=BaseModelNode; output = AST; } @header { package org.sangine.translator.antlr3.generated; import org.sangine.translator.antlr3.model.BaseModelNode; } @lexer::header { package org.sangine.translator.antlr3.generated; import org.sangine.translator.antlr3.model.BaseModelNode; } prog : stat+ ; stat : expr NEWLINE | ID '=' expr NEWLINE | NEWLINE ; expr : multExpr (('+'|'-') multExpr)* ; multExpr : atom ('*' atom)* ; atom : INT | ID | '(' expr ')' ; ID : ('a'..'z'|'A'..'Z')+; INT : '0'..'9'+; NEWLINE : '\r'?'\n'; WS : (' '|'\t'|'\n'|'\r')+ {skip();}; --- /BaseModelNode.java /** * */ package org.sangine.translator.antlr3.model; import org.antlr.runtime.Token; import org.antlr.runtime.tree.CommonTree; import org.antlr.runtime.tree.Tree; import org.neo4j.graphdb.Node; import org.sangine.model.ModelNode; import org.sangine.model.ModelRelationshipType; import org.sangine.store.ApplicationGraph; /** * @author Jeremy * */ public class BaseModelNode extends CommonTree { private final Node underlyingNode; protected Node getUnderlyingNode() { return underlyingNode; } /** * */ public BaseModelNode(Node node) { this.underlyingNode = node; } /** * */ public BaseModelNode(BaseModelNode node) { this.underlyingNode = node.underlyingNode; } /** * @param node */ public BaseModelNode(CommonTree node) { super(node); this.underlyingNode = ApplicationGraph.getInstance().createNode(); } /** * @param t */ public BaseModelNode(Token t) { super(t); this.underlyingNode = ApplicationGraph.getInstance().createNode(); if (t==null) { System.err.println(token was null); return; } System.err.println(token was NOT null); this.underlyingNode.setProperty(text, t.getText()); this.underlyingNode.setProperty(linenumber, t.getLine()); this.underlyingNode.setProperty(offset, t.getCharPositionInLine()); } public BaseModelNode() { this.underlyingNode = ApplicationGraph.getInstance().createNode(); } @Override public void setParent(Tree t) { if (t==null) return; this.parent = (CommonTree) t; BaseModelNode parent = (BaseModelNode) t; parent.underlyingNode.createRelationshipTo(this.underlyingNode, ModelRelationshipType.NEXT); } @Override public int hashCode() { return underlyingNode.hashCode(); } @Override public boolean equals( Object o ) { return o instanceof BaseModelNode underlyingNode.equals( ( (BaseModelNode)o ).getUnderlyingNode() ); } @Override public String toString() { return BaseModelNode[]; } } /// test code package org.sangine; import org.antlr.runtime.ANTLRStringStream; import org.antlr.runtime.CommonTokenStream; import org.antlr.runtime.RecognitionException; import org.neo4j.graphdb.Transaction; import org.sangine.store.ApplicationGraph; import org.sangine.translator.antlr3.ModelTreeAdaptor; import org.sangine.translator.antlr3.generated.EvalLexer; import org.sangine.translator.antlr3.generated.EvalParser; import junit.framework.Test; import junit.framework.TestCase; import junit.framework.TestSuite; public class EvalTest extends TestCase { public EvalTest( String testName ) { super( testName ); } public static Test suite() { return new TestSuite( EvalTest.class ); } public void testApp() { ApplicationGraph.loadOrCreateDB(evaldb); Transaction tx = ApplicationGraph.getInstance().getGraphDatabaseService().beginTx(); String java = 1+2; ANTLRStringStream input = null; input = new org.antlr.runtime.ANTLRStringStream(java); EvalLexer lexer = new EvalLexer(input); CommonTokenStream tokens = new CommonTokenStream(lexer); ModelTreeAdaptor adaptor = new ModelTreeAdaptor(); EvalParser parser = new EvalParser(tokens); parser.setTreeAdaptor(adaptor); EvalParser.stat_return cu = null; try { cu = parser.stat(); tx.success(); assertTrue( true ); } catch (RecognitionException e) { // TODO Auto-generated catch block e.printStackTrace(); assertTrue( false ); } finally { tx.finish(); ApplicationGraph.close(); } } } List:
[il-antlr-interest: 34418] Re: [antlr-interest] Rewrite action causing error in parser?
Your problem does not look to be the rewrite rule, but the fact that you are referencing a local variable in a predicate, or have tried to assign from a token in a predicate. Look for something like this ((id=IDENTIFIER)= id=IDENTIFIER)? But regardless, this is the rewrite rule that is the problem as far as I can see. Try commenting it out for instance. Jim -Original Message- From: antlr-interest-boun...@antlr.org [mailto:antlr-interest- boun...@antlr.org] On Behalf Of Ross Bamford Sent: Saturday, October 15, 2011 5:40 AM To: antlr-interest@antlr.org Subject: [antlr-interest] Rewrite action causing error in parser? Hi all, I have a grammar I'm currently working on (posted in another thread the other day), which has the following rule: meth_call_expr : (id = IDENTIFIER DOT)? func_call_expr - ^(METHOD_CALL { ($id==null) ? adaptor.create(SELF, SELF) : adaptor.create(IDENTIFIER, $id.getText()) } func_call_expr) ; As you can see, I'm using an action in the rewrite rule to insert either the (optional) IDENTIFIER, or an imaginary SELF node if IDENTIFIER is not specified. The problem I'm having is that this generates a parser that won't compile. Specifically, it generates the following bit of code (edited by hand for brevity and to highlight the error): /* [ CODE ] */ // $ANTLR start synpred6_BasicLang public final void synpred6_BasicLang_fragment() throws RecognitionException { Token =null; // -- ERROR HERE /* ... later on ... */ switch (alt23) { case 1 : // C:\\Users\\chantelle\\workspace\\basiclang\\src\\com\\roscopeco\\basicl ang\\parser\\BasicLang.g:99:8: id= IDENTIFIER DOT { id=(Token)match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_synpred6_BasicLan g232); if (state.failed) return ; // -- AND HERE match(input,DOT,FOLLOW_DOT_in_synpred6_BasicLang234); if (state.failed) return ; } break; } /* [ END ] */ Obviously the problem is the Token =null line, which should be Token id = null. Changing it by hand fixes the errors and makes the parser work as expected. So I have two questions - is this the right way to go about inserting an imaginary token if an optional token isn't in the input, and if so, what am I doing wrong to cause the error above? Thanks in advance, Ross 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: 34419] Re: [antlr-interest] [Q] how rewrite tree for this simple rule with alternatives?
-Original Message- From: antlr-interest-boun...@antlr.org [mailto:antlr-interest- boun...@antlr.org] On Behalf Of Ruslan Zasukhin Sent: Saturday, October 15, 2011 7:54 AM To: antlr-interest@antlr.org Subject: [antlr-interest] [Q] how rewrite tree for this simple rule with alternatives? Hi All, Hi Terrence, What still wonders me a lot in ANTLR v3 is that fact that we must quite often to use helper rules_leafs to build trees. Because attempts to make it in SINGLE rule way -- not works: alter_trigger_statement :T_ALTER T_TRIGGER trigger_name ( T_ENABLE | T_DISABLE ) - ^( ALTER_TRIGGER trigger_name (T_ENABLE | T_DISABLE) ) ; PROBLEM comes from this alternative (T_ENABLE | T_DISABLE ) ... We cannot label it right? And it is wrong make both tokens optional alter_trigger_statement :T_ALTER T_TRIGGER trigger_name ( T_ENABLE | T_DISABLE ) - ^( ALTER_TRIGGER trigger_name T_ENABLE? T_DISABLE? ) ; - ^( ALTER_TRIGGER trigger_name T_ENABLE? T_DISABLE? ) You just have to think about the rewrite ordinality indicators, not the rule syntax. Jim 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: 34420] Re: [antlr-interest] Custom ASTLabelType - setParent called with Null?
It just means that the node does not have a parent, probably 'yet'; which happens when the AST is in the process of being built. Jim -Original Message- From: antlr-interest-boun...@antlr.org [mailto:antlr-interest- boun...@antlr.org] On Behalf Of Jeremy Long Sent: Saturday, October 15, 2011 1:23 PM To: antlr-interest@antlr.org Subject: [antlr-interest] Custom ASTLabelType - setParent called with Null? Hello, I'm still relatively new to antlr, but basically I'm trying to generate an AST and auto-populate a Neo4j Graph. My initial thought was to use a custom ASTLabelType with my object over-riding the setParent method of the CommonTree to build the relationship. However, on a very simple grammar (Expr.g) parsing the input of 1+2\n of the 10 calls to setParent, 6 of the calls where passed a null token? Any thoughts on this? The grammar, extended commonTree, and test case are below (however, none of this will run as the overall project is bigger than this one piece). Thanks in advance if anyone can clue me into why there are so many calls to setParent passing a null token in. --Jeremy //Eval Grammar grammar Eval; options { ASTLabelType=BaseModelNode; output = AST; } @header { package org.sangine.translator.antlr3.generated; import org.sangine.translator.antlr3.model.BaseModelNode; } @lexer::header { package org.sangine.translator.antlr3.generated; import org.sangine.translator.antlr3.model.BaseModelNode; } prog : stat+ ; stat : expr NEWLINE | ID '=' expr NEWLINE | NEWLINE ; expr : multExpr (('+'|'-') multExpr)* ; multExpr : atom ('*' atom)* ; atom : INT | ID | '(' expr ')' ; ID : ('a'..'z'|'A'..'Z')+; INT : '0'..'9'+; NEWLINE : '\r'?'\n'; WS : (' '|'\t'|'\n'|'\r')+ {skip();}; --- /BaseModelNode.java /** * */ package org.sangine.translator.antlr3.model; import org.antlr.runtime.Token; import org.antlr.runtime.tree.CommonTree; import org.antlr.runtime.tree.Tree; import org.neo4j.graphdb.Node; import org.sangine.model.ModelNode; import org.sangine.model.ModelRelationshipType; import org.sangine.store.ApplicationGraph; /** * @author Jeremy * */ public class BaseModelNode extends CommonTree { private final Node underlyingNode; protected Node getUnderlyingNode() { return underlyingNode; } /** * */ public BaseModelNode(Node node) { this.underlyingNode = node; } /** * */ public BaseModelNode(BaseModelNode node) { this.underlyingNode = node.underlyingNode; } /** * @param node */ public BaseModelNode(CommonTree node) { super(node); this.underlyingNode = ApplicationGraph.getInstance().createNode(); } /** * @param t */ public BaseModelNode(Token t) { super(t); this.underlyingNode = ApplicationGraph.getInstance().createNode(); if (t==null) { System.err.println(token was null); return; } System.err.println(token was NOT null); this.underlyingNode.setProperty(text, t.getText()); this.underlyingNode.setProperty(linenumber, t.getLine()); this.underlyingNode.setProperty(offset, t.getCharPositionInLine()); } public BaseModelNode() { this.underlyingNode = ApplicationGraph.getInstance().createNode(); } @Override public void setParent(Tree t) { if (t==null) return; this.parent = (CommonTree) t; BaseModelNode parent = (BaseModelNode) t; parent.underlyingNode.createRelationshipTo(this.underlyingNode, ModelRelationshipType.NEXT); } @Override public int hashCode() { return underlyingNode.hashCode(); } @Override public boolean equals( Object o ) { return o instanceof BaseModelNode underlyingNode.equals( ( (BaseModelNode)o ).getUnderlyingNode() ); } @Override public String toString() { return BaseModelNode[]; } } /// test code package org.sangine; import org.antlr.runtime.ANTLRStringStream; import org.antlr.runtime.CommonTokenStream; import org.antlr.runtime.RecognitionException; import org.neo4j.graphdb.Transaction; import org.sangine.store.ApplicationGraph; import org.sangine.translator.antlr3.ModelTreeAdaptor; import org.sangine.translator.antlr3.generated.EvalLexer; import org.sangine.translator.antlr3.generated.EvalParser; import junit.framework.Test; import junit.framework.TestCase; import junit.framework.TestSuite; public class EvalTest extends TestCase { public EvalTest( String testName ) { super( testName ); } public static Test suite() { return new TestSuite( EvalTest.class ); } public void testApp() { ApplicationGraph.loadOrCreateDB(evaldb); Transaction tx = ApplicationGraph.getInstance().getGraphDatabaseService().beginTx(); String java = 1+2; ANTLRStringStream input = null; input = new org.antlr.runtime.ANTLRStringStream(java);
[il-antlr-interest: 34421] [antlr-interest] Beginning ANTLR documentation. Need a few people to sanity check it before release.
To help other first time ANTLR users, I created some documentation, tutorials, and reference guides that I wish I had when starting. If you just want to see the documents then they should be *freely* available in a month or so depending upon quantity and the quality of the feedback. If you are interested in checking the documents and sending feedback to help me out it would be appreciated. The documents have a few categories 1. Create an ANTLR appliance using Virtual Box, Debian, ANTLR, ANTLRWorks and NetBeans. 2. A Reference Manual for org.antlr.Tool command line options, and ANTLRWorks. 3. Additional notes for VirtualBox, Debian, and ANTLRWorks. 4. A basic tutorial for using org.antlr.Tool, ANTLRWorks. 5. How to setup NetBeans to debug/step through at the source code level for both org.antlr.Tool and ANTLRWorks. This is not recommended but is documented because when you need it, it is nice to have. If you do decide to help, I would ask that you take the time to work through the instructions/tutorials in full which should take the better part of a day or two. Since you will be building a virtual machine with VirtualBox, you will need a machine that can spare at least 512 Meg for the virtual machine. Since I don't run a web server, I can only e-mail them to you. Also, until they are correct and published, you cannot share them with anyone. I don't want them indexed by a search engine and contributing more invalid info to the Internet. Sequence - Document - Size 002 Preface 5,175,718 003 Install VirtualBox 1,487,708 004 VirtualBox Notes 360,220 005 Common VirtualBox Steps 2,902,846 006 Create Virtual Box virtual machine for Debian 6 (Squeeze) 866,391 007 Install Debian 6 (Squeeze) No GNOME 5,077,635 008 Install gnome-core on Debian 6 (Squeeze) 507,395 010 Common Debian Steps 17,321,468 013 Debian Notes 351,766 014 Debian - Personal Configuration 169,267 015 Install Java Development Kit (JDK) 1,416,777 017 Install Packaged Utilities 2,538,901 018 Install NFS 398,033 021 Install ZGRViewer 2,019,806 022 Install Maven 1,882,918 023 Install Scripts 26,823 025 Demonstration Grammars 550,802 030 Install ANTLR 3.4 267,009 032 ANTLR Tool - Reference Manual 14,366,470 033 Using ANTLR Tool - Expression Evaluator 1,083,546 035 ANTLR - Other command line tools 444,861 040 Install ANTLRWorks 1,965,279 042 ANTLRWorks Notes 2,176,458 045 ANTLRWorks - Reference Manual 29,571,591 046 Using ANTLRWorks 5,106,738 052 Create source directory 716,740 060 Install NetBeans 7.0.1 2,648,763 061 Debug ANTLR source with Netbeans 14,538,637 Thanks, Eric 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: 34423] Re: [antlr-interest] Something Wrong in Antlr3CSharpReleases 3.4?
thank sam but where can I find the latest document? and any notes about difference in 3.4 3.3? 在 2011-10-16 上午1:10,Sam Harwell sharw...@pixelminegames.com编写: Hello, The CSharp3.pdf document you are using is old. All the links on antlr.org should already be updated to point to the newer documentation on the Antlr3CSharpReleases page. I suggest going through the updated document to see if the problem gets resolved. Thanks, Sam -Original Message- From: antlr-interest-boun...@antlr.org [mailto:antlr-interest-bounces@antlr. org] On Behalf Of ??? Sent: Saturday, October 15, 2011 11:16 AM To: antlr-interest@antlr.org Subject: [antlr-interest] Something Wrong in Antlr3CSharpReleases 3.4? Hello All I'm a newbie in Antlr in C# I start my study from http://www.antlr.org/download/CSharp3... *-- Rebuild All started: Project: AntlrTest, Configuration: Debug x86 --* *F:\antlr\AntlrTest\Reference\Antlr\Antlr3.targets(123,5): error AC1000: Unknown build error: Exception has been thrown by the target of an invocation.* *== Rebuild All: 0 succeeded, 1 failed, 0 skipped ==* * * Anyone Else come with the Same question? How to solve it? 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.