Adding ArrayConstructorNode
Project: http://git-wip-us.apache.org/repos/asf/vxquery/repo Commit: http://git-wip-us.apache.org/repos/asf/vxquery/commit/609930ef Tree: http://git-wip-us.apache.org/repos/asf/vxquery/tree/609930ef Diff: http://git-wip-us.apache.org/repos/asf/vxquery/diff/609930ef Branch: refs/heads/master Commit: 609930efbde8acec20f4baf8f5bb4cd929285d3e Parents: beff6de Author: Christina Pavlopoulou <[email protected]> Authored: Thu Jun 2 16:47:33 2016 -0700 Committer: Christina Pavlopoulou <[email protected]> Committed: Thu Jun 2 16:47:33 2016 -0700 ---------------------------------------------------------------------- .../xmlquery/ast/ArrayConstructorNode.java | 40 +++++++++++++++++ vxquery-core/src/main/javacc/xquery-grammar.jj | 45 +++++++++++--------- 2 files changed, 64 insertions(+), 21 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/vxquery/blob/609930ef/vxquery-core/src/main/java/org/apache/vxquery/xmlquery/ast/ArrayConstructorNode.java ---------------------------------------------------------------------- diff --git a/vxquery-core/src/main/java/org/apache/vxquery/xmlquery/ast/ArrayConstructorNode.java b/vxquery-core/src/main/java/org/apache/vxquery/xmlquery/ast/ArrayConstructorNode.java new file mode 100644 index 0000000..cf034a3 --- /dev/null +++ b/vxquery-core/src/main/java/org/apache/vxquery/xmlquery/ast/ArrayConstructorNode.java @@ -0,0 +1,40 @@ +/* +* Licensed to the Apache Software Foundation (ASF) under one or more +* contributor license agreements. See the NOTICE file distributed with +* this work for additional information regarding copyright ownership. +* The ASF licenses this file to You under the Apache License, Version 2.0 +* (the "License"); you may not use this file except in compliance with +* the License. You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ +package org.apache.vxquery.xmlquery.ast; + +import org.apache.vxquery.util.SourceLocation; + +public class ArrayConstructorNode extends ASTNode { + private ASTNode expression; + + public ArrayConstructorNode(SourceLocation loc) { + super(loc); + } + + @Override + public ASTTag getTag() { + return ASTTag.ARRAY_CONSTRUCTOR; + } + + public ASTNode getExpression() { + return expression; + } + + public void setExpression(ASTNode expression) { + this.expression = expression; + } +} http://git-wip-us.apache.org/repos/asf/vxquery/blob/609930ef/vxquery-core/src/main/javacc/xquery-grammar.jj ---------------------------------------------------------------------- diff --git a/vxquery-core/src/main/javacc/xquery-grammar.jj b/vxquery-core/src/main/javacc/xquery-grammar.jj index 4db964a..a1d9de9 100644 --- a/vxquery-core/src/main/javacc/xquery-grammar.jj +++ b/vxquery-core/src/main/javacc/xquery-grammar.jj @@ -1937,27 +1937,6 @@ ASTNode FunctionCall() : } } -ASTNode JsonConstructor() : -{ - ASTNode result; -} -{ - result = ArrayConstructor() - { - return result; - } -} - -ASTNode ArrayConstructor() : -{ - ASTNode expr; -} -{ - "[" expr=Expr() "]" { - return expr; - } -} - ASTNode Constructor() : { ASTNode result; @@ -2464,6 +2443,30 @@ ASTNode CompPIConstructor() : } } +ASTNode JsonConstructor() : +{ + ASTNode result; +} +{ + result = ArrayConstructor() + { + return result; + } +} + +ASTNode ArrayConstructor() : +{ + ASTNode expr; + Token start; +} +{ + (start="[") expr=Expr() "]" { + ArrayConstructorNode an = new ArrayConstructorNode(createSourceLocation(start)); + an.setExpression(expr); + return an; + } +} + SingleTypeNode SingleType() : { AtomicTypeNode type;
