|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
03.01.2012, 03:34 | #1 |
Регистрация: 15.04.2010
Сообщений: 9
|
Лексический анализатор на Delphi....закажу прогу
Доброго времени суток!
Товарищи программисты, у меня курсовая работа на тему: «Программирование лексического анализатора». Мой метод – это конечный автомат. Надо написать на Delphi, поскольку там можно реализовать формы! Нужно реализовать с помощью подпрограмм. Т.е. каждому состоянию соответствует процедура/функция. Т.е. на вход ЛА подается простой текст (например, .txt), а на выходе он должен сформировать выходную таблицу лексем, а также таблицы констант и идентификаторов (в случае, если типов больше 1, таблица идентификаторов должна содержать поле "тип"). И все это должно отображаться в формочке. Грамматика для моего компилятора, диаграмма состояний, пример программы и все таблицы есть в электронном виде! Вот небольшой пример: procedure p1(IsRead:Boolean); Begin <пропуск белых разделителей> If not IsRead then c:=NextChar(); S:=S+c; case c of 'a' .. 'z','A'..'D','F'..'Z' : p2(); '0','1','2','3','4','5','6','7','8' ,'9' : p3(); ':' : p4(); '<' : p5(); '>' : p6(); ';',',','+','*','/','?','#','(',')','[',']' :begin addlex(c); p1(false); end ... procedure p2(IsRead:Boolean); begin //пропуск белых расделителей if not IsRead then c:=NextChar(); S:=S+c; case c of 'a' .. 'z','A'..'D','F'..'Z','0','1','2',' 3','4','5','6','7','8','9' : p2; else begin addlex(S,-1); p1(true); end; end; … procedure p3(IsRead:Boolean); begin //пропуск белых расделителей if not IsRead then c:=NextChar(); S:=S+c; case c of '0','1','2','3','4','5','6','7','8' ,'9' : p3; else begin addlex(S,CONCODE); p1(true); end; end; …. И так далее для других состояний! Пожалуйста, откликнитесь!!!!По зарез надо!!!!! Кто возьмется, пишите!!!!! Последний раз редактировалось J-lo; 03.01.2012 в 03:37. |
03.01.2012, 18:06 | #2 |
Профессионал
Пользователь
Регистрация: 25.05.2011
Сообщений: 91
|
С удовольствием помогу решить Вашу проблему.
shalexei@yandex.ru
Помог? Будь человеком - жми на весы слева!
|
03.01.2012, 19:56 | #3 |
Пользователь
Регистрация: 16.03.2011
Сообщений: 13
|
Если еще актуально, пиши, помогу=)
ashev92@mail.ru
Не забываем плюсовать репутацию, если я Вам помог.
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Лексический анализатор | ercin1991 | Фриланс | 2 | 08.12.2011 11:39 |
Лексический анализатор | ercin1991 | Общие вопросы C/C++ | 4 | 05.12.2011 16:34 |
Лексический анализатор, С++ | holy_0dmin | Фриланс | 4 | 03.12.2011 02:36 |
Лексический анализатор | serguna005 | Паскаль, Turbo Pascal, PascalABC.NET | 5 | 06.12.2008 00:00 |