Exemplo n.º 1
0
        private void Action5()
        {
            int num_lexem = FindNumberLexem(lexemTable, currentLexem);

            RezultTable.Add(new RezultTable(currentRow, currentLexem, num_lexem, 0));
            currentSymb--;
        }
Exemplo n.º 2
0
        }    //фунція виклику підпрограм

        private void Action1()
        {
            int num_lexem = FindNumberLexem(lexemTable, currentLexem);//номер лексеми в таблиці лексем

            if (currentLexem == "початок")
            {
                new_idn = false;
            }
            if (num_lexem >= 0)
            {
                RezultTable.Add(new RezultTable(currentRow, currentLexem, num_lexem, 0));
            }
            else
            {
                int q = FindNumberIden(IdentifiersTable, currentLexem);
                if (q == -1)
                {
                    if (new_idn == false)
                    {
                        Error = new Error(currentRow, currentColumn, "Необ'явлений ідентифікатор");
                    }
                    IdentifiersTable.Add(new IdentifiersTable(currentLexem, IdentifiersTable.Count + 1));
                    RezultTable.Add(new RezultTable(currentRow, currentLexem, lexemTable.Count - 1, IdentifiersTable.Last().index));
                }
                else
                {
                    RezultTable.Add(new RezultTable(currentRow, currentLexem, lexemTable.Count - 1, q));
                }
            }
            currentSymb--;
        }
Exemplo n.º 3
0
        private void Action3()
        {
            currentLexem += code[currentSymb];
            int num_lexem = FindNumberLexem(lexemTable, currentLexem);

            RezultTable.Add(new RezultTable(currentRow, currentLexem, num_lexem, 0));
            currentColumn++;
        }
Exemplo n.º 4
0
        private void Action2()
        {
            int q = FindNumberConst(ConstTable, currentLexem);

            if (q == -1)
            {
                ConstTable.Add(new ConstTable(currentLexem, ConstTable.Count() + 1));
                RezultTable.Add(new RezultTable(currentRow, currentLexem, lexemTable.Count, ConstTable.Count()));
            }
            else
            {
                RezultTable.Add(new RezultTable(currentRow, currentLexem, lexemTable.Count, q));
            }
            currentSymb--;
        }