Пример #1
0
 /// <summary>
 /// Visit VarBindAssignment
 /// </summary>
 /// <param name="assignment">VarBindAssignment to check</param>
 public override void Visit(VarBindAssignment assignment)
 {
     assignment.GetExpression().AcceptVisitor(this);
     SymbolTable.AddVariableDefinition(assignment.GetIdentifier(), assignment.GetExpression());
 }
Пример #2
0
 public virtual void Visit(VarBindAssignment assignment)
 {
     VisitSubNodes(assignment);
 }
Пример #3
0
        /// <summary>
        /// Parser for VarBindAssignment
        /// </summary>
        /// <returns>Parsed VarBindAssignment</returns>
        public VarBindAssignment ParseVarBindAssignment()
        {
            VarBindAssignment varBindAssignment = new VarBindAssignment();

            //Parse identifier
            CurrentToken = TokenStream.NextToken();
            varBindAssignment.SetIdentifier(CurrentToken.GetValue().ToString());

            //Skip = token
            NextToken("=", "identifier = expression;", '=');

            //Parse expression
            varBindAssignment.SetExpression(expressionParser.ParseExpression());

            //Skip ; token
            NextToken(";", "identifier = expression;", ';');

            return varBindAssignment;
        }