t053heteroT9.g revision 324c4644fee44b9898524c09511bd33c3f12e2df
1grammar t053heteroT9;
2options {
3    language=JavaScript;
4    output=AST;
5}
6@header {
7function V2() {
8    var x, y, z, token, ttype;
9    if (arguments.length===4) {
10        ttype = arguments[0];
11        x = arguments[1];
12        y = arguments[2];
13        z = arguments[3];
14        token = new org.antlr.runtime.CommonToken(ttype, "");
15    } else if (arguments.length===3) {
16        ttype = arguments[0];
17        token = arguments[1];
18        x = arguments[2];
19        y = 0;
20        z = 0;
21    } else {
22        throw new Error("Invalid args");
23    }
24
25    V2.superclass.constructor.call(this, token);
26    this.x = x;
27    this.y = y;
28    this.z = z;
29};
30
31org.antlr.lang.extend(V2, org.antlr.runtime.tree.CommonTree, {
32    toString: function() {
33        var txt = "";
34        if (this.token) {
35            txt += this.getText();
36        }
37        txt += "<V>;"+this.x.toString()+this.y.toString()+this.z.toString();
38        return txt;
39    }
40});
41}
42a : ID -> ID<V2>[42,19,30] ID<V2>[$ID,99];
43ID : 'a'..'z'+ ;
44WS : (' '|'\n') {$channel=HIDDEN;} ;
45
46