System.Linq.Dynamic.Parser.ParseStart C# (CSharp) Method

ParseStart() private method

private ParseStart ( ParseNode parent ) : void
parent ParseNode
return void
		private void ParseStart(ParseNode parent) // NonTerminalSymbol: Start
		{
			ParseNode node = parent.CreateNode(_scanner.GetToken(TokenType.Start), "Start");
			parent.Nodes.Add(node);


			// Concat Rule
			ParseExpression(node); // NonTerminal Rule: Expression

			// Concat Rule
			var tok = _scanner.Scan(TokenType.EOF);
			var n = node.CreateNode(tok, tok.ToString());
			node.Token.UpdateRange(tok);
			node.Nodes.Add(n);
			if (tok.Type != TokenType.EOF)
			{
				tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.EOF.ToString(),
					0x1001, tok));
				return;
			}

			parent.Token.UpdateRange(node.Token);
		} // NonTerminalSymbol: Start