[il-antlr-interest: 34411] [antlr-interest] Rewrite action causing error in parser?

2011-10-15 Thread Ross Bamford
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

2011-10-15 Thread 金杰
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?

2011-10-15 Thread Ruslan Zasukhin
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?

2011-10-15 Thread Jeremy Long
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?

2011-10-15 Thread Jim Idle
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?

2011-10-15 Thread Jim Idle
 -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?

2011-10-15 Thread Jim Idle
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.

2011-10-15 Thread The Researcher
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?

2011-10-15 Thread 李志鹏
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.