Вещественное Afloat
Лабораторная работа № 3-4 Студент: Тафинцев Г.М. Группа: 8О-208Б Номер по списку: 14 Вариант: 34 Дата: 13.04.2015 Тема: Лексический анализ. ……………………………………………………………………………………………………………………………………. Краткая формулировка задания В тренажере Lexer.h дополнить конструктор класса tLexer определениями автоматов, распознающих все токены языка МИКРОЛИСП. Шаблоны токенов взять из лабораторной работы №3. В отчет включить диаграммы автоматов только для токенов $float, $id и $idq, выполненные в ГРАФИЧЕСКОМ РЕДАКТОРЕ, и протоколы тестирования(screenshot). ……………………………………………………………………………………………………………………………………. Набор отчетных документов Лабораторная работа №4 Lexer.h 2015 Ifndef LEXER_H Define LEXER_H #include "baselexer.h" //******************************************** //* Developed by THM * //* (c) 2015 * //******************************************** class tLexer:public tBaseLexer{ public: Персональный код разработчика std::string Authentication()const{ return "THM";} Конструктор tLexer():tBaseLexer(){ //создать автоматы: Целое addstr (Aint,0,"+-", 2); addstr (Aint,0,"0", 1); addstr (Aint,1,"0", 1); addstr (Aint,2,"0", 1); addrange(Aint,0,'1','9',3); addrange(Aint,2,'1','9',3); addrange(Aint,3,'0','9',3); Aint.final(1); Aint.final(3); //________________________________________ Восьмеричное Aoct addstr (Aoct, 0,"+-", 3); addstr (Aoct, 0,"0", 1); addstr (Aoct, 1,"0", 1); addstr (Aoct, 3,"0", 1); addrange(Aoct,1,'1','9',2); addrange(Aoct,2,'0','9',2); Aoct.final(2); //________________________________________ вещественное Afloat addstr (Afloat, 0, "+-", 1); addstr (Afloat, 2, ".", 3); addstr (Afloat, 4, "Ee", 5); addstr (Afloat, 5, "+-", 6); addrange(Afloat, 0, '0', '9', 2); addrange(Afloat, 1, '0', '9', 2); addrange(Afloat, 2, '0', '9', 2); addrange(Afloat, 3, '0', '9', 4); addrange(Afloat, 4, '0', '9', 4); addrange(Afloat, 6, '0', '9', 7); addrange(Afloat, 7, '0', '9', 7); Afloat.final(3); Afloat.final(7); //________________________________________
|