public override void visit(SyntaxTree.expression_list _expression_list) { //throw new NotSupportedError(get_location(_expression_list)); int count = _expression_list.expressions.Count; statement_node_list snl = new statement_node_list(); for (int i = 0; i < count - 1; i++) { statement_node sn = ret.visit(_expression_list.expressions[i]); snl.AddElement(sn); } expression_node ex = ret.visit(_expression_list.expressions[count - 1]); statements_expression_node sen = new statements_expression_node( snl, ex, get_location(_expression_list)); return_value(sen); }
public statements_expression_node(statement_node_list statements, expression_node expression, location loc) : base(expression.type, loc) { this._statements_list = statements; this._expression = expression; }
private statements_expression_node CreateStatementsExpressionNode() { statement_node_list sl = new statement_node_list(); int count = br.ReadInt32(); for (int i = 0; i < count; i++) sl.AddElement(CreateStatement()); return new statements_expression_node(sl, CreateExpression(), null); }