1*16467b97STreehugger Robotgrammar t053heteroTP14; 2*16467b97STreehugger Robotoptions { 3*16467b97STreehugger Robot language=JavaScript; 4*16467b97STreehugger Robot output=AST; 5*16467b97STreehugger Robot tokenVocab=t053heteroT14; 6*16467b97STreehugger Robot} 7*16467b97STreehugger Robot@header { 8*16467b97STreehugger Robotfunction V() { 9*16467b97STreehugger Robot V.superclass.constructor.apply(this, arguments); 10*16467b97STreehugger Robot}; 11*16467b97STreehugger Robotorg.antlr.lang.extend(V, org.antlr.runtime.tree.CommonTree, { 12*16467b97STreehugger Robot toString: function() { 13*16467b97STreehugger Robot return this.getText() + "<V>"; 14*16467b97STreehugger Robot } 15*16467b97STreehugger Robot}); 16*16467b97STreehugger Robot 17*16467b97STreehugger Robotfunction W() { 18*16467b97STreehugger Robot W.superclass.constructor.apply(this, arguments); 19*16467b97STreehugger Robot}; 20*16467b97STreehugger Robotorg.antlr.lang.extend(W, org.antlr.runtime.tree.CommonTree, { 21*16467b97STreehugger Robot toString: function() { 22*16467b97STreehugger Robot return this.getText() + "<W>"; 23*16467b97STreehugger Robot } 24*16467b97STreehugger Robot}); 25*16467b97STreehugger Robot} 26*16467b97STreehugger Robota : ID INT -> ^(INT<V> ID<W>) 27*16467b97STreehugger Robot ; 28*16467b97STreehugger Robot 29