/// <summary>
 /// Check if the given term with operator is a numeric value and a comma (respectively)
 /// </summary>
 /// <param name="termWithOperatorNode">the term with operator node to check</param>
 /// <returns>true if a numeric term with a comma; false otherwise</returns>
 private static bool IsCommaNumber(TermWithOperatorNode termWithOperatorNode)
 {
     // must be a comma for the operator, and a number-based value for the term
     return(termWithOperatorNode != null &&
            termWithOperatorNode.Operator == "," &&
            IsNumberTerm(termWithOperatorNode.TermNode));
 }
Пример #2
0
        /// <summary>Parses the termwithoperator AST node</summary>
        /// <param name="termWithOperatorNode">The AST to parse</param>
        internal void ParseTermWithOperator(TermWithOperatorNode termWithOperatorNode)
        {
            if (termWithOperatorNode == null)
            {
                return;
            }

            this.ParseTerm(termWithOperatorNode.TermNode);
        }
Пример #3
0
        /// <summary>The <see cref="TermWithOperatorNode"/> visit implementation</summary>
        /// <param name="termWithOperatorNode">The term AST node</param>
        /// <returns>The modified AST node if modified otherwise the original node</returns>
        public override AstNode VisitTermWithOperatorNode(TermWithOperatorNode termWithOperatorNode)
        {
            // expr
            // : term [ operator? term ]*
            // ;

            // append for: [ operator term ]
            _printerFormatter.Append(termWithOperatorNode.Operator);
            termWithOperatorNode.TermNode.Accept(this);

            return(termWithOperatorNode);
        }
Пример #4
0
        /// <summary>The <see cref="TermWithOperatorNode"/> visit implementation</summary>
        /// <param name="termWithOperatorNode">The term AST node</param>
        /// <returns>The modified AST node if modified otherwise the original node</returns>
        public override AstNode VisitTermWithOperatorNode(TermWithOperatorNode termWithOperatorNode)
        {
            termWithOperatorNode.TermNode.Accept(this);

            return(termWithOperatorNode);
        }
Пример #5
0
 /// <summary>The <see cref="Ast.TermWithOperatorNode"/> visit implementation</summary>
 /// <param name="termWithOperatorNode">The term AST node</param>
 /// <returns>The modified AST node if modified otherwise the original node</returns>
 public virtual AstNode VisitTermWithOperatorNode(TermWithOperatorNode termWithOperatorNode)
 {
     return(termWithOperatorNode);
 }
Пример #6
0
 /// <summary>Parses the termwithoperator AST node</summary>
 /// <param name="termWithOperatorNode">The AST to parse</param>
 internal void ParseTermWithOperator(TermWithOperatorNode termWithOperatorNode)
 {
     this.ParseTerm(termWithOperatorNode.TermNode);
 }
 /// <summary>The <see cref="Ast.TermWithOperatorNode"/> visit implementation</summary>
 /// <param name="termWithOperatorNode">The term AST node</param>
 /// <returns>The modified AST node if modified otherwise the original node</returns>
 public override AstNode VisitTermWithOperatorNode(TermWithOperatorNode termWithOperatorNode)
 {
     return(new TermWithOperatorNode(termWithOperatorNode.Operator, (TermNode)termWithOperatorNode.TermNode.Accept(this)));
 }