//[Test] public void TestLoad() { const string scenePathname = @"Examples\Scene.unity"; var local = MakeLocalPath(scenePathname); var text = System.IO.File.ReadAllText(local); Assert.IsNotEmpty(text, $"Couldn't read {local}"); var lexer = new UnityLexer(text); Assert.IsTrue(lexer.Process(), lexer.Error); }
private static SyntaxTree Parse(SourceText sourceText, Func <UnityParser, SyntaxNode> parseFunc) { var lexer = new UnityLexer(sourceText); var parser = new UnityParser(lexer); var result = new SyntaxTree(sourceText, syntaxTree => parseFunc(parser)); Debug.WriteLine(DateTime.Now + " - Finished parsing"); return(result); }
public static IReadOnlyList <SyntaxToken> ParseAllTokens(SourceText sourceText) { var tokens = new List <SyntaxToken>(); var lexer = new UnityLexer(sourceText); SyntaxToken token; do { tokens.Add(token = lexer.Lex()); } while (token.Kind != SyntaxKind.EndOfFileToken); return(tokens); }
private static SyntaxTree Parse(SourceText sourceText, Func <UnityParser, SyntaxNode> parseFunc) { var pretokenizer = new UnityPretokenizer(sourceText); var pretokenizedTokens = pretokenizer.GetTokens(); var lexer = new UnityLexer(sourceText, pretokenizedTokens); var parser = new UnityParser(lexer); var result = new SyntaxTree(sourceText, syntaxTree => { var node = parseFunc(parser); node.SetSyntaxTree(syntaxTree); return(node); }); Debug.WriteLine(DateTime.Now + " - Finished parsing"); return(result); }