![]() |
|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 09.02.2009
Сообщений: 35
|
![]()
Нужно написать синтаксический анализатор для одного маленького фрагмента программы, т.е. проверка правильности грамматического построения предложений исходного текста программы.
Текст программы: Код:
Написать можно на любом языке. Скажите пожалуйста, сложно ли это сделать? Может кто-то поможет? Хоть чем-то. Любым фрагментам кода буду рад (но сам я знаю только object pascal). P.S анализатор только для этого конкретного кода, для этих слов, т.е. если тут нет оператора if, значит если я введу его (пусть даже корректно), то это должна быть ошибка. |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
![]()
Он описан в одном журнале, если надо пиши в личку я дам ссылку. Писал я на c#
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика ![]() |
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 09.02.2009
Сообщений: 35
|
![]()
Помогите пожалуйста написать программу.
|
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 08.04.2012
Сообщений: 3,229
|
![]()
Я так понимаю, программа на первом этапе должна определять, идентичен ли текст, введенный пользователем, тексту, хранящемуся в качестве образца.
Это так? |
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 09.02.2009
Сообщений: 35
|
![]()
Да, можно конечно сравнить каждый символ строки, if s[1]<>i then.... но это будет очень много ифов, не думаю что это верно, да и не определю какая ошибка, а надо выдать что-то например "; expected" и т.д
|
![]() |
![]() |
![]() |
#6 |
Старожил
Регистрация: 08.04.2012
Сообщений: 3,229
|
![]() |
![]() |
![]() |
![]() |
#7 |
Старожил
Регистрация: 31.05.2010
Сообщений: 13,543
|
![]()
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder |
![]() |
![]() |
![]() |
#8 |
Пользователь
Регистрация: 09.02.2009
Сообщений: 35
|
![]()
Этот вариант не поможет, если в код добавить пробел, то будет выдавать ошибку. И там ещё много других нюансов. Нужен другой способ..
|
![]() |
![]() |
![]() |
#9 |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
![]()
В моем варианте идет сканирование не по символам, а по лексемам. Символами быстрей, но и писать дольше.
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика ![]() |
![]() |
![]() |
![]() |
#10 | |
Старожил
Регистрация: 08.04.2012
Сообщений: 3,229
|
![]() Цитата:
Просто текст между чтением из поля ввода и подачей на вход анализатора нужно немного преобразовать. В частности, удалить лишние пробелы, концы строк и т.п. |
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
синтаксический анализатор(LL) | Legato | Общие вопросы Delphi | 2 | 25.12.2011 18:29 |
Синтаксический анализатор | Lisёноk | Помощь студентам | 2 | 12.12.2011 09:51 |
Синтаксический анализатор | Jeka57 | Помощь студентам | 1 | 05.06.2011 22:47 |
Синтаксический анализатор | Ita | Фриланс | 0 | 29.03.2011 01:37 |
Синтаксический анализатор | Douglas | Помощь студентам | 0 | 28.12.2010 18:01 |