internal override Syntax.Node Parse(string source) { var lexer = new Lexer(source, options); IList<Token> tokens = lexer.AllTokens(); if (options.PreProcessor && options.ParseStatements) { var pp = new Preprocessor.XSharpPreprocessor(lexer, options, "Macro", Encoding.Default); tokens = pp.PreProcess(); } var parser = new Parser(tokens, options); return parser.ParseScript(); }