/// <summary> /// Parse an TextExpression /// </summary> /// <returns>Parsed TextExpression</returns> public TextExpression ParseTextExpression() { TextExpression textExpression = new TextExpression(); CurrentToken = TokenStream.NextToken(); textExpression.SetText(CurrentToken.GetValue().ToString()); return textExpression; }
public virtual void Visit(TextExpression expression) { VisitSubNodes(expression); }
/// <summary> /// Visit FunctionDefinition to check declarations /// </summary> /// <param name="functionDefinition">FunctionDefinition to check</param> public override void Visit(FunctionDefinition functionDefinition) { CreateChildSymbolTable(); //Check Formals foreach(Formal formal in functionDefinition.GetFormals()) { //Add variable, but with nullvalue, because value is undefined in definition TextExpression textExpression = new TextExpression(); SymbolTable.AddVariableDefinition(formal.GetIdentifier(), textExpression); } //Check Statements of function foreach (Statement statement in functionDefinition.GetStatements()) { statement.AcceptVisitor(this); } MoveToParentSymbolTable(); }