From 85a4dacd303740d339f89af49ffee3f0f23a1bda Mon Sep 17 00:00:00 2001 From: Terence Parr <> Date: Wed, 13 Sep 1995 19:33:14 -0500 Subject: [PATCH] auto commit for import --- testcpp/7/test.g | 55 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100755 testcpp/7/test.g diff --git a/testcpp/7/test.g b/testcpp/7/test.g new file mode 100755 index 0000000..a590d22 --- /dev/null +++ b/testcpp/7/test.g @@ -0,0 +1,55 @@ +<< +#include ATOKPTR_H // define smart pointers + +class ANTLRToken : public ANTLRCommonToken { +public: + int muck; +public: + ANTLRToken(ANTLRTokenType t, ANTLRChar *s) : ANTLRCommonToken(t,s) + { muck = atoi(s); } + ANTLRToken() {;} + ANTLRChar *getText() { return ""; } + void setText(ANTLRChar *s) { ; } + virtual ANTLRAbstractToken *makeToken(ANTLRTokenType t, char *s, int line) + { + ANTLRToken *tk = new ANTLRToken(t,s); + tk->muck = atoi(s); + return tk; + } +}; + +#include "DLGLexer.h" +#include "PBlackBox.h" + +int main() +{ + ParserBlackBox p(stdin); + + p.parser()->calc(); + return 0; +} +>> + +#token "[\ \t\n]+" <> + +class Expr { + +calc: <> + e>[r] + <> + ; + +e > [int r] + : <> + e2>[$r] ( "\+" e2>[b] <<$r+=b;>> )* + ; + +e2 > [int r] + : NUMBER <<$r=mytoken($1)->muck;>> + ( "\*" NUMBER <<$r*=mytoken($2)->muck;>> )* + ; + +} + +#token NUMBER "[0-9]+" + -- 2.40.0