From: Terence Parr <> Date: Thu, 14 Sep 1995 00:43:36 +0000 (-0500) Subject: auto commit for import X-Git-Url: https://pd.if.org/git/?p=pccts;a=commitdiff_plain;h=cc08e4aeb2f7d41ebc03b3f820dffcd666297ada auto commit for import --- diff --git a/testcpp/9/test.g b/testcpp/9/test.g new file mode 100755 index 0000000..6669c07 --- /dev/null +++ b/testcpp/9/test.g @@ -0,0 +1,49 @@ +/* This is test.g which tests simple AST refs and construction */ + +<< +typedef ANTLRCommonToken ANTLRToken; +#include "DLGLexer.h" +#include "PBlackBox.h" + +class AST : public ASTBase { +public: + ANTLRTokenPtr token; + AST(ANTLRTokenPtr t) { token = t; } + void preorder_action() { + char *s = token->getText(); + printf(" %s", s); + } +}; + +int main() +{ + ParserBlackBox p(stdin); + ASTBase *root = NULL; + p.parser()->e(&root); + root->preorder(); + printf("\n"); + root->destroy(); + return 0; +} +>> + +#token "[\ \t\n]+" <> +#token Eof "@" + +class Expr { /* Define a grammar class */ + +e : mult_expr ( ("\+"^|"\-"^) mult_expr )* + ; + +mult_expr + : atom ( ("\*"^|"\/"^) atom )* + ; + +atom: IDENTIFIER + | NUMBER + ; + +} + +#token IDENTIFIER "[a-z]+" +#token NUMBER "[0-9]+"