1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
|
using System;
using System.IO;
using antlr;
using antlr.collections;
/** A simple node to represent an INT */
public class INTNode : CalcAST {
int v=0;
public INTNode() {
}
public INTNode(Token tok) {
v = Convert.ToInt32(tok.getText());
}
public override void initialize(int t, String txt) {
if (t == CalcParserTokenTypes.INT)
v = Convert.ToInt32(txt);
}
public override void initialize(AST t) {
if (t.Type == CalcParserTokenTypes.INT)
v = Convert.ToInt32(t.getText());
}
public override void initialize(IToken tok) {
if (tok.Type == CalcParserTokenTypes.INT)
v = Convert.ToInt32(tok.getText());
}
/** Compute value of subtree; this is heterogeneous part :) */
public override int Value() {
return v;
}
public override string ToString() {
return " "+v;
}
public override void xmlSerializeNode(TextWriter outWriter) {
outWriter.Write("<int>"+v+"</int>");
}
}
|