From f012a271e25c0412d754c67ef46e96b8f2e2afab Mon Sep 17 00:00:00 2001 From: Terence Parr <> Date: Wed, 13 Sep 1995 20:00:04 -0500 Subject: [PATCH] auto commit for import --- testcpp/12/test.g | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100755 testcpp/12/test.g diff --git a/testcpp/12/test.g b/testcpp/12/test.g new file mode 100755 index 0000000..afedf0e --- /dev/null +++ b/testcpp/12/test.g @@ -0,0 +1,39 @@ +/* This is test.g which tests a simple DLG-based scanner using string input */ + +<< +typedef ANTLRCommonToken ANTLRToken; + +#include "DLGLexer.h" +#include "PBlackBox.h" + +int main(int argc, char **argv) +{ + if ( argc==1 ) {fprintf(stderr, "how about an argument?\n"); exit(1);} + DLGStringInput in(argv[1]); /* create an input stream for DLG */ + DLGLexer scan(&in); /* create scanner reading from stdin */ + ANTLRTokenBuffer pipe(&scan); /* make pipe between lexer & parser */ + ANTLRTokenPtr aToken = new ANTLRToken; + scan.setToken(mytoken(aToken)); + Expr parser(&pipe); /* create parser of type Expr hooked to scanner */ + parser.init(); /* init the parser; prime lookahead etc... */ + parser.e(); /* start parsing at rule 'e' of that parser */ + + return 0; +} +>> + +#token "[\ \t\n]+" <> +#token Eof "@" + +#tokclass My { IDENTIFIER NUMBER } + +class Expr { /* Define a grammar class */ + +e : My My Eof + <getText(), $2->getText());>> + ; + +} + +#token IDENTIFIER "[a-z]+" +#token NUMBER "[0-9]+" -- 2.40.0