From: Terence Parr <> Date: Thu, 14 Sep 1995 00:33:14 +0000 (-0500) Subject: auto commit for import X-Git-Url: https://pd.if.org/git/?p=pccts;a=commitdiff_plain;h=85a4dacd303740d339f89af49ffee3f0f23a1bda auto commit for import --- 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]+" +