![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#11 |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
![]()
Объясняю еще раз. Берешь файл и закидываешь его в СтрингЛист к примеру. Это массив строк. Далее идешь циклом от нуля до StringList.Count-1 и обрабатываешь строки.
Итак, ты взял конкретную строку (допустим поместил в х). Дальше твой парсер оценивает первое слово и делает соответствующие выводы - выражение, условие и т.д. Если первое слово if значит условие. Раз условие то переходишь на функцию оценки условия Если выражение то решаешь его. Если секция вар, то либо принимаешь дальше переменные, либо ждешь наступления новой секции. Так ясней? Да и строки перед работой нужно подготовить - чтобы был 1 пробел между лексемами и т.д. Сравнение делай нечувствительным к регистру (для начала, ты же Паскаль делаешь). ЗЫ. Описание массива переменных это отражение мысли из поста #2.
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика ![]() |
![]() |
![]() |
![]() |
#12 |
БохЪ
Форумчанин
Регистрация: 30.09.2009
Сообщений: 724
|
![]()
Utkin, вот уже яснее
![]()
В планах порабощение вселенной...
|
![]() |
![]() |
![]() |
#13 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
zumm, а может Вам готовый парсер взять?!
Или весь смысл задачи как раз и состоит в том, чтобы сделать свой?.. ![]() |
![]() |
![]() |
![]() |
#14 | |
БохЪ
Форумчанин
Регистрация: 30.09.2009
Сообщений: 724
|
![]() Цитата:
![]()
В планах порабощение вселенной...
|
|
![]() |
![]() |
![]() |
#15 |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
![]()
Я бы в условиях отсутствия знаний почитал бы что-нибудь (но аккуратней, обычно там много заумных слов и мало дела) или взял бы да и выпотрошил какой-нибудь код. Например, реализацию какого-нибудь Бейсика...
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика ![]() |
![]() |
![]() |
![]() |
#17 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]() Цитата:
Это же основы построения компиляторов. Для начала можно почитать курс на Интуит - Лексический анализ ну и, конечно, "классика жанра": Альфред Ахо, Рави Сети, Джеффри Ульман, Моника Лам - Компиляторы. Принципы, технологии, инструменты (есть в Сети в эл.виде, найдётся легко, например, 2-е издание от 2008 г. на рутрекере ) и гуглить по словам: лексический анализ программы построение компиляторов построение простого интерпретатора p.s. А вот с тем, что тема непростая - я, разумеется, соглашусь... Последний раз редактировалось Serge_Bliznykov; 30.06.2010 в 08:50. |
|
![]() |
![]() |
![]() |
#18 | ||
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
![]() Цитата:
Цитата:
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика ![]() |
||
![]() |
![]() |
![]() |
#19 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]() Цитата:
![]() в ссылках гугла (указанных мной выше) есть примеры реализации простого интерпретатора языка. Например, построение простого интерпретатора (правда, там пример реализации на C и за основы интерпертируемого языка взят SMALL BASIC, но для понимания принципов, как это сделать и как это работает - вполне сгодится)! |
|
![]() |
![]() |
![]() |
#20 | |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
![]() Цитата:
![]()
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика ![]() Последний раз редактировалось Utkin; 30.06.2010 в 09:37. |
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Можно ли ускорить выполнение этого кода? | Velross | Помощь студентам | 3 | 07.01.2010 19:37 |
Выполнение строки как кода в Delphi | Asteroid | Общие вопросы Delphi | 11 | 21.09.2009 18:46 |
.htaccess запрет на выполнение кода | wall66 | PHP | 3 | 11.08.2009 10:54 |
Выполнение кода из файла.. | NSvirus | Паскаль, Turbo Pascal, PascalABC.NET | 25 | 14.06.2009 00:56 |
обновление в блоге - Быстрый парсер html кода на Delphi | Pblog | Обсуждение статей | 0 | 09.08.2008 22:10 |