public ArrayInstantiationNode(TypeNode type, ArrayTypeNode arrayType, ArrayInitializerNode arrayInitializer, Token token) : base(token) { this.typeOfArray = type; this.arrayType = arrayType; this.initialization = arrayInitializer; }
private static AstNode ParseTerm(Parser.Parser parser) { if (parser.MatchToken(TokenType.Number)) { return(new NumberNode(Convert.ToDouble(parser.ExpectToken(TokenType.Number).Value))); } else if (parser.AcceptToken(TokenType.Parentheses, "(")) { AstNode statement = ExpressionNode.Parse(parser); parser.ExpectToken(TokenType.Parentheses, ")"); return(statement); } else if (parser.AcceptToken(TokenType.Bracket, "[")) { AstNode statement = ArrayInitializerNode.Parse(parser); parser.ExpectToken(TokenType.Bracket, "]"); return(statement); } else if (parser.MatchToken(TokenType.String)) { return(new StringNode(parser.ExpectToken(TokenType.String).Value.ToString())); } else if (parser.MatchToken(TokenType.Identifier)) { return(new IdentifierNode(parser.ExpectToken(TokenType.Identifier).Value.ToString())); } else { throw new Exception("Unexpected in Parser: " + parser.CurrentToken().Value); } }
public ArrayInstantiationNode(TypeNode type, List <ExpressionNode> primaryExpBrackets, ArrayTypeNode arrayType, ArrayInitializerNode initialization, Token token) : base(token) { this.typeOfArray = type; this.primaryExpBrackets = primaryExpBrackets; this.arrayType = arrayType; this.initialization = initialization; }
public ArrayInitializerExpressionNode(ArrayType arr, ArrayInitializerNode initializer) { this.arr = arr; this.initializer = initializer; }