Exemple #1
0
        private ActionNode ControlStatement()
        {
            ActionNode         itsAST;
            SourceCodePosition itsPos = _currentToken.SourcePosition;

            if (_currentToken.Type == Token.TokenType.While || _currentToken.Type == Token.TokenType.Foreach)
            {
                itsAST = IterationStatement();
            }
            else if (_currentToken.Type == Token.TokenType.Break)
            {
                Accept(Token.TokenType.Break);
                itsAST = new BreakActionNode(itsPos);
                Accept(Token.TokenType.Semicolon);
            }
            else
            {
                itsAST = SelectionStatement();
            }
            return(itsAST);
        }
Exemple #2
0
 public object Visit(BreakActionNode n, object o)
 {
     return(null);
 }
Exemple #3
0
 public object Visit(BreakActionNode n, object o)
 {
     AppendLine($"{AddIndent()}break;");
     return(null);
 }