Пример #1
0
        private void LexerButton_Click_1(object sender, EventArgs e)
        {
            string input = InputScreen.Text;
            string RealInput = "";
            for (int i = 0; i < input.Length; i++)
            {
                if (input[i] == '\r' || input[i] == '\n' || input[i]==' ')
                    continue;
                RealInput += input[i];

            }
             LA = new LexicalAnalyzer(RealInput);
            while (!LA.IsFinished())
            {
                try
                {
                    LA.NextToken();
                }
                catch (LexerException LE)
                {
                    MessageBox.Show(LE.message);
                }
            }
            List<Token> temp = LA.TokensList;
              LexerOutput.Items.Clear();
            foreach (Token s in temp)
            {
                string Temper;
                Temper = s.Lexeme.ToString() + ">>" + s.Type.ToString();
               LexerOutput.Items.Add(Temper);
            }
        }
Пример #2
0
        public DummyCppParser(LexicalAnalyzer Lexer)
            : base(Lexer)
        {
            Lexer.appendEOF();
            SyntaxChecker CheckError = new SyntaxChecker(Lexer.TokensList);

            try
            {
                CheckError.Check();
            }
            catch (ParseException ex)
            {
                ERROR = ex.Msg;
            }
        }
Пример #3
0
 public AbstractParser(LexicalAnalyzer Lexer)
 {
     this.Lexer = Lexer;
 }
 public AbstractParser(LexicalAnalyzer Lexer )
 {
     this.Lexer = Lexer;
 }