private static object ParseNumber( IRuleNode number, int factor) { var tokenType = GetSingleChildTokenType(number); if (tokenType == EsperEPL2GrammarLexer.IntegerLiteral) { return ParseIntLongByte(number.GetText(), factor); } if (tokenType == EsperEPL2GrammarLexer.FloatingPointLiteral) { var numberText = number.GetText(); if (numberText.EndsWith("f") || numberText.EndsWith("F")) { numberText = numberText.Substring(0, numberText.Length - 1); return Single.Parse(numberText) * factor; } else if (numberText.EndsWith("m")) { numberText = numberText.Substring(0, numberText.Length - 1); return Decimal.Parse(numberText) * factor; } else if (numberText.EndsWith("d") || numberText.EndsWith("D")) { numberText = numberText.Substring(0, numberText.Length - 1); } return Double.Parse(numberText) * factor; } throw ASTWalkException.From("Encountered unrecognized constant", number.GetText()); }
public virtual string Walk(IParseTreeListener listener, IParseTree t) { counter++; if (t is IErrorNode) { listener.VisitErrorNode((IErrorNode)t); txt = txt + t.ToString(); return(txt); } else { if (t is ITerminalNode) { listener.VisitTerminal((ITerminalNode)t); return(txt); } } IRuleNode r = (IRuleNode)t; string parentname = r.GetText(); //Console.WriteLine("##### PARENT " + counter + "####" + parentname + "#####"); EnterRule(listener, r); int n = r.ChildCount; for (int i = 0; i < n; i++) { Walk(listener, r.GetChild(i)); Console.WriteLine("##### CHILD " + i + " of " + parentname + "####" + r.GetChild(i).GetText() + "#####"); } ExitRule(listener, r); return(txt); }
private static Object ParseNumber(IRuleNode number, int factor) { var tokenType = GetSingleChildTokenType(number); if (tokenType == EsperEPL2GrammarLexer.IntegerLiteral) { return ParseIntLongByte(number.GetText(), factor); } else if (tokenType == EsperEPL2GrammarLexer.FloatingPointLiteral) { var numberText = number.GetText(); if (numberText.EndsWith("f") || numberText.EndsWith("F")) { return FloatValue.ParseString(number.GetText()) * factor; } else { return DoubleValue.ParseString(number.GetText()) * factor; } } throw ASTWalkException.From("Encountered unrecognized constant", number.GetText()); }
public override long VisitChildren(IRuleNode node) { throw new ValidationParseException($"Unexpected node: {node.GetText()}"); }
public override Expression VisitChildren(IRuleNode node) { writer($"{System.Reflection.MethodBase.GetCurrentMethod().Name} | Childs: {node.ChildCount} |{node.SourceInterval} | {node.GetText()}"); Expression expression = base.VisitChildren(node); return(expression); }