1*16467b97STreehugger Robotgrammar t053heteroTP16; 2*16467b97STreehugger Robotoptions { 3*16467b97STreehugger Robot language=JavaScript; 4*16467b97STreehugger Robot output=AST; 5*16467b97STreehugger Robot tokenVocab=t053heteroT16; 6*16467b97STreehugger Robot} 7*16467b97STreehugger Robottokens { ROOT; } 8*16467b97STreehugger Robot@header { 9*16467b97STreehugger Robotfunction V16(ttype, x) { 10*16467b97STreehugger Robot V16.superclass.constructor.call(this, new org.antlr.runtime.CommonToken(ttype)); 11*16467b97STreehugger Robot this.foobar = x; 12*16467b97STreehugger Robot}; 13*16467b97STreehugger Robotorg.antlr.lang.extend(V16, org.antlr.runtime.tree.CommonTree, { 14*16467b97STreehugger Robot toString: function() { 15*16467b97STreehugger Robot return t053heteroTP16Parser.tokenNames[this.getType()] + "<V>;" + this.foobar; 16*16467b97STreehugger Robot } 17*16467b97STreehugger Robot}); 18*16467b97STreehugger Robot} 19*16467b97STreehugger Robota : ID -> ROOT<V16>[42] ID 20*16467b97STreehugger Robot ; 21*16467b97STreehugger Robot 22