/// <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)); }
/// <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); }
/// <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); }
/// <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); }
/// <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); }
/// <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))); }