/// <summary> /// Parser for EchoStatement /// </summary> /// <returns>Parsed EchoStatement</returns> public EchoStatement ParseEchoStatement() { //Skip echo NextToken("echo", "echo Expression/Embedding ;", "echo"); //Determine echo type if (TokenStream.HasNext() && TokenStream.Peek(1).GetType() == TokenType.EMBEDDING) { //EchoEmbeddingStatement EchoEmbeddingStatement echoEmbedding = new EchoEmbeddingStatement(); //Parse embedding echoEmbedding.SetEmbedding(embeddingParser.ParseEmbedding()); //Skip ; token NextToken(";", "echo Expression/Embedding ;", ';'); return(echoEmbedding); } else { //EchoExpressionStatement EchoExpressionStatement echoExpression = new EchoExpressionStatement(); //Parse expression echoExpression.SetExpression(expressionParser.ParseExpression()); //Skip ; token NextToken(";", "echo Expression/Embedding ;", ';'); return(echoExpression); } }
/// <summary> /// Interpret EchoEmbeddingStatement /// </summary> /// <param name="statement">EchoEmbeddingStatement to interpret</param> public override void Visit(EchoEmbeddingStatement statement) { statement.GetEmbedding().AcceptVisitor(this); }
public virtual void Visit(EchoEmbeddingStatement statement) { VisitSubNodes(statement); }