Parse() public method

public Parse ( ) : LNode
return LNode
コード例 #1
0
        void TestStage1Core(string text, LNode expected)
        {
            var   lexer     = ParsingService.Default.Tokenize(text, ConsoleMessageSink.Value);
            var   treeified = new TokensToTree(lexer, true);
            var   tokens    = treeified.Buffered();
            var   parser    = new StageOneParser(tokens, lexer.SourceFile, ConsoleMessageSink.Value);
            LNode result    = parser.Parse();

            AreEqual(expected, result);
        }
コード例 #2
0
 public static LNode Parse(IListSource <Token> tokenTree, ISourceFile file, IMessageSink messages)
 {
     if (_parser == null)
     {
         _parser = new StageOneParser(tokenTree, file, messages);
     }
     else
     {
         _parser.Reset(tokenTree, file);
         _parser.ErrorSink = messages;
     }
     return(_parser.Parse());
 }
コード例 #3
0
 public static LNode ParseTokenTree(TokenTree tokens, IMessageSink sink, LNode basis)
 {
     return(StageOneParser.Parse(tokens, tokens.File, sink));
 }
コード例 #4
0
ファイル: LlpgParserTests.cs プロジェクト: qwertie/ecsharp
		void TestStage1Core(string text, LNode expected)
		{
			var lexer = ParsingService.Default.Tokenize(text, ConsoleMessageSink.Value);
			var treeified = new TokensToTree(lexer, true);
			var tokens = treeified.Buffered();
			var parser = new StageOneParser(tokens, lexer.SourceFile, ConsoleMessageSink.Value);
			LNode result = parser.Parse();
			AreEqual(expected, result);
		}