Author: bernhard
Date: Mon Jan 30 13:30:53 2006
New Revision: 11383
Added:
trunk/languages/bc/grammar/antlr_3/bc.g (contents, props changed)
Modified:
trunk/MANIFEST
trunk/MANIFEST.SKIP
trunk/languages/bc/Bc.java
trunk/languages/bc/config/makefiles/root.in
trunk/languages/bc/docs/antlr_3.pod
trunk/languages/bc/grammar/antlr_3/ (props changed)
Log:
Parrot bc: Get started on a dummy ANTLR3 grammar.
Modified: trunk/MANIFEST
==============================================================================
--- trunk/MANIFEST (original)
+++ trunk/MANIFEST Mon Jan 30 13:30:53 2006
@@ -746,6 +746,7 @@ languages/bc/docs/antlr_3.pod
languages/bc/docs/parrot_bc.pod
[bc]
languages/bc/grammar/antlr_2/antlr_past2pir_past.g
[bc]
languages/bc/grammar/antlr_2/bc_python.g
[bc]
+languages/bc/grammar/antlr_3/bc.g
[bc]
languages/bc/lib/Parrot/Test/Bc.pm
[bc]
languages/bc/lib/Parrot/Test/Bc/Antlr2.pm
[bc]
languages/bc/lib/Parrot/Test/Bc/Antlr3.pm
[bc]
Modified: trunk/MANIFEST.SKIP
==============================================================================
--- trunk/MANIFEST.SKIP (original)
+++ trunk/MANIFEST.SKIP Mon Jan 30 13:30:53 2006
@@ -1,5 +1,5 @@
# $Id$
-# generated by tools/dev/gen_manifest_skip.pl Sun Jan 29 12:50:54 2006
+# generated by tools/dev/gen_manifest_skip.pl Mon Jan 30 22:26:26 2006
#
# This file should contain a transcript of the svn:ignore properties
# of the directories in the Parrot subversion repository. (Needed for
@@ -98,6 +98,7 @@
^.*\.exp$
^.*\.exp/
# generated from svn:ignore of 'LICENSES/'
+# generated from svn:ignore of 'blib/lib/'
# generated from svn:ignore of 'compilers/'
# generated from svn:ignore of 'compilers/ast/'
^compilers/ast/.*\.flag$
@@ -469,6 +470,18 @@
# generated from svn:ignore of 'languages/bc/grammar/'
# generated from svn:ignore of 'languages/bc/grammar/antlr_2/'
# generated from svn:ignore of 'languages/bc/grammar/antlr_3/'
+^languages/bc/grammar/antlr_3/.*\.java$
+^languages/bc/grammar/antlr_3/.*\.java/
+^languages/bc/grammar/antlr_3/.*\.class$
+^languages/bc/grammar/antlr_3/.*\.class/
+^languages/bc/grammar/antlr_3/BcParser\.lexer\.g$
+^languages/bc/grammar/antlr_3/BcParser\.lexer\.g/
+^languages/bc/grammar/antlr_3/BcParser\.tokens$
+^languages/bc/grammar/antlr_3/BcParser\.tokens/
+^languages/bc/grammar/antlr_3/BcParserLexer\.tokens$
+^languages/bc/grammar/antlr_3/BcParserLexer\.tokens/
+^languages/bc/grammar/antlr_3/Bc\.lexer\.g$
+^languages/bc/grammar/antlr_3/Bc\.lexer\.g/
# generated from svn:ignore of 'languages/bc/lib/'
# generated from svn:ignore of 'languages/bc/lib/Parrot/'
# generated from svn:ignore of 'languages/bc/lib/Parrot/Test/'
Modified: trunk/languages/bc/Bc.java
==============================================================================
--- trunk/languages/bc/Bc.java (original)
+++ trunk/languages/bc/Bc.java Mon Jan 30 13:30:53 2006
@@ -8,10 +8,10 @@ public class Bc
{
CharStream input = new ANTLRFileStream(args[0]);
System.out.println( "1" );
- // SimpleCLexer lex = new SimpleCLexer(input);
+ // BcLexer lex = new BcLexer(input);
// CommonTokenStream tokens = new CommonTokenStream(lex);
// System.out.println("tokens="+tokens);
- // SimpleC parser = new SimpleC(tokens);
+ // BcParser parser = new BcParser(tokens);
// parser.program();
}
}
Modified: trunk/languages/bc/config/makefiles/root.in
==============================================================================
--- trunk/languages/bc/config/makefiles/root.in (original)
+++ trunk/languages/bc/config/makefiles/root.in Mon Jan 30 13:30:53 2006
@@ -68,7 +68,7 @@ build-posix:
build-java: Bc.class
-Bc.class:
+Bc.class: Bc.java
@echo 'Be sure to set CLASSPATH first'
javac Bc.java
@@ -76,8 +76,10 @@ maintain: maintain-python maintain-java
maintain-python: $(PYTHON_RUNTIME_FILES)
-maintain-java:
-# Nothing to do yet
+maintain-java: grammar/antlr_3/bc.g
+ @echo 'Be sure to set CLASSPATH first'
+ java org.antlr.Tool grammar/antlr_3/bc.g
+ javac grammar/antlr_3/*.java
# BcLexer.py will be created too
# TODO: antlr_past2pir_past shouldn't need BcLexerTokenTypes.txt
Modified: trunk/languages/bc/docs/antlr_3.pod
==============================================================================
--- trunk/languages/bc/docs/antlr_3.pod (original)
+++ trunk/languages/bc/docs/antlr_3.pod Mon Jan 30 13:30:53 2006
@@ -2,7 +2,7 @@
=head1 Overview
-This are some rumblings on using ANTLR 3 for Parrot bc, or with Parrot in
general.
+These are some rumblings on using ANTLR 3 for Parrot bc, or with Parrot in
general.
=head1 Parsing in general
@@ -13,6 +13,11 @@ This are some rumblings on using ANTLR 3
export
CLASSPATH=/home/bernhard/devel/ANTLR/v3/antlr-3.0ea7/lib/antlr-3.0ea7.jar:/home/bernhard/devel/ANTLR/v3/antlr-3.0ea7/lib/antlr-2.7.5.jar:/home/bernhard/devel/ANTLR/v3/antlr-3.0ea7/lib/stringtemplate-2.3b4.jar:$CLASSPATH
And see Makefile.
+
+=head2 Syntax
+
+Lexer, Parser and TreeParser are in the same file, speak grammar.
+C-comments serve as comments. C++ style as well ?
=head2 Lexer
Added: trunk/languages/bc/grammar/antlr_3/bc.g
==============================================================================
--- (empty file)
+++ trunk/languages/bc/grammar/antlr_3/bc.g Mon Jan 30 13:30:53 2006
@@ -0,0 +1,11 @@
+/* $Id$
+ *
+ */
+grammar BcParser;
+
+program
+ : INT
+ ;
+
+INT : ('0'..'9')+
+ ;