public virtual object Walk(PrimitiveLiteral node) { if (Enter(node)) { // Insert code here } Exit(node); return(null); }
public PrimitiveLiteral ParsePrimitiveLiteral() { var token = Next(); if (!token.Is(TokenType.Null) && !token.Is(TokenType.True) && !token.Is(TokenType.False) && !token.Is(TokenType.String) && !token.Is(TokenType.Number)) { throw Error("Primitive literal expected, received " + token.Type, token); } var literal = new PrimitiveLiteral { Token = Next(), Value = Next().Text, Type = Next().Type }; Consume(); return(literal); }
public override object Walk(PrimitiveLiteral node) { switch (node.Type) { case TokenType.String: return(new BikeString(node.Value)); case TokenType.Number: return(new BikeNumber(decimal.Parse(node.Value))); case TokenType.True: return(new BikeBoolean(true)); case TokenType.False: return(new BikeBoolean(false)); case TokenType.Null: return(null); default: throw ErrorFactory.CreateInvalidProgramError("Invalid primitive literal"); } }
public override void Exit(PrimitiveLiteral node) { level--; }
public override bool Enter(PrimitiveLiteral node) { Print("PrimitiveLiteral '{0}': '{1}'", node.Type, node.Value); level++; return true; }
public virtual void Exit(PrimitiveLiteral node) { }
public virtual bool Enter(PrimitiveLiteral node) { return true; }
public virtual bool Enter(PrimitiveLiteral node) { return(true); }
public override bool Enter(PrimitiveLiteral node) { Print("PrimitiveLiteral '{0}': '{1}'", node.Type, node.Value); level++; return(true); }
public override object Walk(PrimitiveLiteral node) { switch (node.Type) { case TokenType.String: return new BikeString(node.Value); case TokenType.Number: return new BikeNumber(decimal.Parse(node.Value)); case TokenType.True: return new BikeBoolean(true); case TokenType.False: return new BikeBoolean(false); case TokenType.Null: return null; default: throw ErrorFactory.CreateInvalidProgramError("Invalid primitive literal"); } }
public PrimitiveLiteral ParsePrimitiveLiteral() { var token = Next(); if (!token.Is(TokenType.Null) && !token.Is(TokenType.True) && !token.Is(TokenType.False) && !token.Is(TokenType.String) && !token.Is(TokenType.Number)) throw Error("Primitive literal expected, received " + token.Type, token); var literal = new PrimitiveLiteral { Token = Next(), Value = Next().Text, Type = Next().Type }; Consume(); return literal; }
public virtual object Walk(PrimitiveLiteral node) { if (Enter(node)) { // Insert code here } Exit(node); return null; }