Exemple #1
0
        public void Run()
        {
            ParserErrorHandler errorHandler = new ParserErrorHandler(OnParserError);

            foreach (ICompilerInput input in _context.Parameters.Input)
            {
                try
                {
                    using (System.IO.TextReader reader = input.Open())
                    {
                        BooParser.ParseModule(_tabSize, _context.CompileUnit, input.Name, reader, errorHandler);
                    }
                }
                catch (CompilerError error)
                {
                    _context.Errors.Add(error);
                }
                catch (antlr.TokenStreamRecognitionException x)
                {
                    OnParserError(x.recog);
                }
                catch (Exception x)
                {
                    _context.Errors.Add(CompilerErrorFactory.InputError(input.Name, x));
                }
            }
        }
Exemple #2
0
        public static Module ParseModule(string readerName, TextReader reader, ParserErrorHandler errorHandler)
        {
            antlr.TokenStreamSelector selector = new antlr.TokenStreamSelector();

            BooLexer lexer = new BooLexer(reader);

            lexer.setTabSize(TabSize);
            lexer.setFilename(readerName);
            lexer.setTokenObjectClass(TokenObjectClass);
            lexer.Initialize(selector, TabSize, TokenObjectClass);

            IndentTokenStreamFilter filter = new IndentTokenStreamFilter(lexer, WS, INDENT, DEDENT, EOS);

            selector.select(filter);

            BooParser parser = new BooParser(selector);

            parser.setFilename(readerName);
            parser.Error += errorHandler;

            Module module = parser.start();

            module.Name = CreateModuleName(readerName);
            return(module);
        }
Exemple #3
0
 public static BooParser CreateParser(int tabSize, string readerName, TextReader reader, ParserErrorHandler errorHandler)
 {
     var parser = new BooParser(CreateBooLexer(tabSize, readerName, reader));
     parser.setFilename(readerName);
     parser.Error += errorHandler;
     return parser;
 }
Exemple #4
0
        public void Run()
        {
            try
            {
                ParserErrorHandler errorHandler = new ParserErrorHandler(OnParserError);

                foreach (ICompilerInput input in _context.CompilerParameters.Input)
                {
                    try
                    {
                        using (System.IO.TextReader reader = input.Open())
                        {
                            Module module = BooParser.ParseModule(input.Name, reader, errorHandler);
                            if (null != module)
                            {
                                _context.CompileUnit.Modules.Add(module);
                            }
                        }
                    }
                    catch (Exception x)
                    {
                        _context.Errors.InputError(input, x);
                    }
                }
            }
            finally
            {
                _context = null;
            }
        }
 private Module ParseModule(bool wsa, string name, TextReader reader, ParserErrorHandler onParserError)
 {
     if (wsa) {
        return WSABooParser.ParseModule(4, _context.CompileUnit, name, reader, onParserError);
     }else {
        return BooParser.ParseModule(4, _context.CompileUnit, name, reader, onParserError);
     }
 }
Exemple #6
0
		public static Module ParseModule(int tabSize, CompileUnit cu, string readerName, TextReader reader, ParserErrorHandler errorHandler)
		{
			if (Readers.IsEmpty(reader))
			{
				Module emptyModule = new Module(new LexicalInfo(readerName), ModuleNameFrom(readerName));
				cu.Modules.Add(emptyModule);
				return emptyModule;
			}

			Module module = CreateParser(tabSize, readerName, reader, errorHandler).start(cu);
			module.Name = ModuleNameFrom(readerName);
			return module;
		}
Exemple #7
0
        public static Module ParseModule(int tabSize, CompileUnit cu, string readerName, TextReader reader, ParserErrorHandler errorHandler)
        {
            if (Readers.IsEmpty(reader))
            {
                Module emptyModule = new Module(new LexicalInfo(readerName), ModuleNameFrom(readerName));
                cu.Modules.Add(emptyModule);
                return(emptyModule);
            }

            Module module = CreateParser(tabSize, readerName, reader, errorHandler).start(cu);

            module.Name = ModuleNameFrom(readerName);
            return(module);
        }
Exemple #8
0
 protected override void ParseModule(string inputName, System.IO.TextReader reader, ParserErrorHandler errorHandler)
 {
     WSABooParser.ParseModule(this.TabSize, this.Context.CompileUnit, inputName, reader, errorHandler);
 }
Exemple #9
0
		public static Expression ParseExpression(int tabSize, string name, string text, ParserErrorHandler errorHandler)
		{
			return CreateParser(tabSize, name, new StringReader(text), errorHandler).expression();
		}
Exemple #10
0
		protected virtual void ParseModule(string inputName, System.IO.TextReader reader, ParserErrorHandler errorHandler)
		{
			BooParser.ParseModule(TabSize, _context.CompileUnit, inputName, reader, errorHandler); 
		}
Exemple #11
0
 protected virtual void ParseModule(string inputName, System.IO.TextReader reader, ParserErrorHandler errorHandler)
 {
     BooParser.ParseModule(TabSize, _context.CompileUnit, inputName, reader, errorHandler);
 }
Exemple #12
0
 public static Expression ParseExpression(int tabSize, string name, string text, ParserErrorHandler errorHandler)
 {
     return(CreateParser(tabSize, name, new StringReader(text), errorHandler).expression());
 }
Exemple #13
0
 override protected void ParseModule(string inputName, System.IO.TextReader reader, ParserErrorHandler errorHandler)
 {
     WSABooParser.ParseModule(this.TabSize, this.Context.CompileUnit, inputName, reader, errorHandler);
 }
Exemple #14
0
        protected virtual void ParseModule(string inputName, System.IO.TextReader reader, ParserErrorHandler errorHandler)
        {
            // We need to replace and later restore the error handler in the settings
            var settings    = My <ParserSettings> .Instance;
            var prevHandler = settings.ErrorHandler;

            settings.ErrorHandler = errorHandler;

            try
            {
                ParseModule(inputName, reader);
            }
            finally
            {
                settings.ErrorHandler = prevHandler;
            }
        }
Exemple #15
0
        public static Module ParseModule(int tabSize, CompileUnit cu, string readerName, TextReader reader, ParserErrorHandler errorHandler)
        {
            BooParser parser = CreateParser(tabSize, readerName, reader, errorHandler);

            Module module = parser.start(cu);
            module.Name = CreateModuleName(readerName);
            return module;
        }
Exemple #16
0
        public static BooParser CreateParser(int tabSize, string readerName, TextReader reader, ParserErrorHandler errorHandler)
        {
            var settings = new ParserSettings()
            {
                TabSize = tabSize, ErrorHandler = errorHandler
            };

            return(CreateParser(settings, readerName, reader));
        }
Exemple #17
0
        public static Module ParseModule(int tabSize, CompileUnit cu, string readerName, TextReader reader, ParserErrorHandler errorHandler)
        {
            var settings = new ParserSettings()
            {
                TabSize = tabSize, ErrorHandler = errorHandler
            };

            return(ParseModule(settings, cu, readerName, reader));
        }
Exemple #18
0
		public static BooParser CreateParser(int tabSize, string readerName, TextReader reader, ParserErrorHandler errorHandler)
		{
			var settings = new ParserSettings() { TabSize = tabSize, ErrorHandler = errorHandler };
			return CreateParser(settings, readerName, reader);
		}
Exemple #19
0
		public static Module ParseModule(int tabSize, CompileUnit cu, string readerName, TextReader reader, ParserErrorHandler errorHandler)
		{
			var settings = new ParserSettings() { TabSize = tabSize, ErrorHandler = errorHandler };
			return ParseModule(settings, cu, readerName, reader);
		}
Exemple #20
0
        public static BooParser CreateParser(int tabSize, string readerName, TextReader reader, ParserErrorHandler errorHandler)
        {
            BooParser parser = new BooParser(CreateBooLexer(tabSize, readerName, reader));

            parser.setFilename(readerName);
            parser.Error += errorHandler;
            return(parser);
        }
Exemple #21
0
        public void Run()
        {
            ParserErrorHandler errorHandler = new ParserErrorHandler(OnParserError);

            foreach (ICompilerInput input in _context.Parameters.Input)
            {
                try
                {
                    using (System.IO.TextReader reader = input.Open())
                    {
                        ParseModule(input.Name, reader, errorHandler);
                    }
                }
                catch (CompilerError error)
                {
                    _context.Errors.Add(error);
                }
                catch (antlr.TokenStreamRecognitionException x)
                {
                    OnParserError(x.recog);
                }
                catch (Exception x)
                {
                    _context.Errors.Add(CompilerErrorFactory.InputError(input.Name, x));
                }
            }
        }
Exemple #22
0
        public static Module ParseModule(int tabSize, CompileUnit cu, string readerName, TextReader reader, ParserErrorHandler errorHandler)
        {
            BooParser parser = CreateParser(tabSize, readerName, reader, errorHandler);

            Module module = parser.start(cu);

            module.Name = CreateModuleName(readerName);
            return(module);
        }
Exemple #23
0
		protected virtual void ParseModule(string inputName, System.IO.TextReader reader, ParserErrorHandler errorHandler)
		{
			// We need to replace and later restore the error handler in the settings
			var settings = My<ParserSettings>.Instance;
			var prevHandler = settings.ErrorHandler;
			settings.ErrorHandler = errorHandler;

			try
			{
				ParseModule(inputName, reader);
			} 
			finally 
			{
				settings.ErrorHandler = prevHandler;
			}
		}