コード例 #1
0
ファイル: JintEngine.cs プロジェクト: pvginkel/Jint2
        private static BodySyntax ParseBlockStatement(string source, ReadOnlyArray<string> parameters)
        {
            if (String.IsNullOrEmpty(source))
                return null;

            var lexer = new EcmaScriptLexer(new ANTLRStringStream(source));
            var parser = new EcmaScriptParser(new CommonTokenStream(lexer), source);

            var block = parser.ExecuteBlockStatements(parameters);

            if (parser.Errors != null && parser.Errors.Count > 0)
                throw new JintException(String.Join(Environment.NewLine, parser.Errors.ToArray()));

            return block;
        }
コード例 #2
0
ファイル: JintEngine.cs プロジェクト: pvginkel/Jint2
        internal static ProgramSyntax ParseProgram(string source)
        {
            if (String.IsNullOrEmpty(source))
                return null;

            var lexer = new EcmaScriptLexer(new ANTLRStringStream(source));
            var parser = new EcmaScriptParser(new CommonTokenStream(lexer), source);

            var program = parser.Execute();

            if (parser.Errors != null && parser.Errors.Count > 0)
                throw new JintException(String.Join(Environment.NewLine, parser.Errors.ToArray()));

            return program;
        }