public static Node Parse(ParseState parsestate) { Node basenode = parsestate.BuildParenNumberNode(true); if (basenode == null) { #warning Hack parsestate.BaseNode.Children.Add(Node.ZeroNode); basenode = parsestate.BaseNode; } if (parsestate.CurrentOperator != Operator.Equals) { return(null); } ++parsestate.TokenIndex; Node arg1 = parsestate.BuildNode(false); if (arg1 == null) { return(null); } basenode.Children.Add(arg1); if (parsestate.CurrentSymbol != Symbol.Comma) { #warning Hack basenode.Children.Add(Node.ZeroNode); basenode.Arguments.Add(Operator.Equals); return(basenode); } ++parsestate.TokenIndex; Operator @operator = parsestate.CurrentOperator; if (@operator == Operator.Equals || @operator == Operator.NotEquals) { ++parsestate.TokenIndex; Node rangenode = parsestate.BuildRangeNode(); if (rangenode != null) { basenode.Children.Add(rangenode.Children[1]); basenode.Children.Add(rangenode.Children[2]); basenode.Arguments.Add(@operator); basenode.Arguments.Add(rangenode.Arguments[1]); basenode.Arguments.Add(rangenode.Arguments[2]); return(basenode); } --parsestate.TokenIndex; } switch (@operator) { case Operator.Equals: case Operator.NotEquals: case Operator.GreaterEquals: case Operator.LesserEquals: case Operator.Lesser: case Operator.Greater: ++parsestate.TokenIndex; break; default: return(null); } Node arg = parsestate.BuildNode(false); if (arg == null) { return(null); } basenode.Arguments.Add(@operator); basenode.Children.Add(arg); return(basenode); }
public static Node Parse(ParseState state) { Operator initoperator = state.CurrentOperator; switch (initoperator) { #warning Compatability. Equals should be the only one that works. case Operator.Equals: case Operator.NotEquals: case Operator.GreaterEquals: case Operator.LesserEquals: ++state.TokenIndex; break; default: return null; } Node arg1 = state.BuildNode(false); if (arg1 == null) return null; state.BaseNode.Children.Add(arg1); if (state.CurrentSymbol != Symbol.Comma) { #warning Hack state.BaseNode.Children.Add(Node.ZeroNode); state.BaseNode.Arguments.Add(Operator.Equals); return state.BaseNode; } ++state.TokenIndex; Operator @operator = state.CurrentOperator; if (@operator == Operator.Equals || @operator == Operator.NotEquals) { ++state.TokenIndex; Node rangenode = state.BuildRangeNode(); if (rangenode != null) { state.BaseNode.Children.Add(rangenode.Children[1]); state.BaseNode.Children.Add(rangenode.Children[2]); state.BaseNode.Arguments.Add(@operator); state.BaseNode.Arguments.Add(rangenode.Arguments[1]); state.BaseNode.Arguments.Add(rangenode.Arguments[2]); return state.BaseNode; } --state.TokenIndex; } switch (@operator) { case Operator.Equals: case Operator.NotEquals: case Operator.GreaterEquals: case Operator.LesserEquals: case Operator.Lesser: case Operator.Greater: ++state.TokenIndex; break; default: return null; } Node arg = state.BuildNode(false); if (arg == null) return null; state.BaseNode.Arguments.Add(@operator); state.BaseNode.Children.Add(arg); return state.BaseNode; }
public static Node Parse(ParseState parsestate) { Node basenode = parsestate.BuildParenNumberNode(true); if (basenode == null) { #warning Hack parsestate.BaseNode.Children.Add(Node.ZeroNode); basenode = parsestate.BaseNode; } if (parsestate.CurrentOperator != Operator.Equals) return null; ++parsestate.TokenIndex; Node arg1 = parsestate.BuildNode(false); if (arg1 == null) return null; basenode.Children.Add(arg1); if (parsestate.CurrentSymbol != Symbol.Comma) { #warning Hack basenode.Children.Add(Node.ZeroNode); basenode.Arguments.Add(Operator.Equals); return basenode; } ++parsestate.TokenIndex; Operator @operator = parsestate.CurrentOperator; if (@operator == Operator.Equals || @operator == Operator.NotEquals) { ++parsestate.TokenIndex; Node rangenode = parsestate.BuildRangeNode(); if (rangenode != null) { basenode.Children.Add(rangenode.Children[1]); basenode.Children.Add(rangenode.Children[2]); basenode.Arguments.Add(@operator); basenode.Arguments.Add(rangenode.Arguments[1]); basenode.Arguments.Add(rangenode.Arguments[2]); return basenode; } --parsestate.TokenIndex; } switch (@operator) { case Operator.Equals: case Operator.NotEquals: case Operator.GreaterEquals: case Operator.LesserEquals: case Operator.Lesser: case Operator.Greater: ++parsestate.TokenIndex; break; default: return null; } Node arg = parsestate.BuildNode(false); if (arg == null) return null; basenode.Arguments.Add(@operator); basenode.Children.Add(arg); return basenode; }
public static Node Parse(ParseState state) { Operator initoperator = state.CurrentOperator; switch (initoperator) { #warning Compatability. Equals should be the only one that works. case Operator.Equals: case Operator.NotEquals: case Operator.GreaterEquals: case Operator.LesserEquals: ++state.TokenIndex; break; default: return(null); } Node arg1 = state.BuildNode(false); if (arg1 == null) { return(null); } state.BaseNode.Children.Add(arg1); if (state.CurrentSymbol != Symbol.Comma) { #warning Hack state.BaseNode.Children.Add(Node.ZeroNode); state.BaseNode.Arguments.Add(Operator.Equals); return(state.BaseNode); } ++state.TokenIndex; Operator @operator = state.CurrentOperator; if (@operator == Operator.Equals || @operator == Operator.NotEquals) { ++state.TokenIndex; Node rangenode = state.BuildRangeNode(); if (rangenode != null) { state.BaseNode.Children.Add(rangenode.Children[1]); state.BaseNode.Children.Add(rangenode.Children[2]); state.BaseNode.Arguments.Add(@operator); state.BaseNode.Arguments.Add(rangenode.Arguments[1]); state.BaseNode.Arguments.Add(rangenode.Arguments[2]); return(state.BaseNode); } --state.TokenIndex; } switch (@operator) { case Operator.Equals: case Operator.NotEquals: case Operator.GreaterEquals: case Operator.LesserEquals: case Operator.Lesser: case Operator.Greater: ++state.TokenIndex; break; default: return(null); } Node arg = state.BuildNode(false); if (arg == null) { return(null); } state.BaseNode.Arguments.Add(@operator); state.BaseNode.Children.Add(arg); return(state.BaseNode); }