// при создании удаляет все пробелы из текста
        public LexicalAnalizator(string text)
        {
            // убираем все двойные пробелы
            while (text.Contains("  "))
            {
                text = text.Replace("  ", " ");
            }

            this.allTextProgram = text;
            tableID             = new List <Lexeme>();
            tableLexemes        = new List <Lexeme>();
            idHashTable         = new IdHashTable <Lexeme>();
        }
Example #2
0
        // void updateTableId(List<Lexeme> lexemes)
        void updateTableId(IdHashTable <Lexeme> idHashTable)
        {
            int newId = 0;

            Table.Items.Clear();
            var stack = idHashTable.Elems;

            foreach (var id in stack)
            {
                ListViewItem item = new ListViewItem();
                item.Tag  = id;
                item.Text = 1.ToString();
                item.SubItems.Add(id.Lexeme.Text);
                item.SubItems.Add(id.Value.ToString());
                Table.Items.Add(item);
            }
        }