|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
29.06.2010, 13:13 | #1 |
БохЪ
Форумчанин
Регистрация: 30.09.2009
Сообщений: 724
|
Парсер, выполнение кода.
Доброго всем! Проблема в том, что мне нужно реализовывать выполнение кода записаного в отдельном файле (например sourse.txt) я, предположим, написал парсер который разбивает все как положено на операторы и переменные. Но вот как это все выполнить? Наверное нужно как то в памяти разместить, но я совершенно не понимаю как Если не тяжело разъясните как это делаеться на примере если получаем, например:
Код:
Код:
В планах порабощение вселенной...
Последний раз редактировалось zumm; 29.06.2010 в 19:19. |
29.06.2010, 13:39 | #2 |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
Под переменные можно затратить динамический массив . Допустим структура имя (String) и значение (Variant)
Выполнить все тоже просто. Раз разбивает делаете промежуточную компиляцию в код, где каждое действие имеет свой числовой номер. А затем через оператор case .
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика |
29.06.2010, 13:48 | #3 |
БохЪ
Форумчанин
Регистрация: 30.09.2009
Сообщений: 724
|
Utkin, вот меня и интересует, что делать в операторе case? Например у нас есть:
Код:
В планах порабощение вселенной...
Последний раз редактировалось zumm; 29.06.2010 в 19:20. |
29.06.2010, 13:56 | #4 |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
Ну такой вариант - сначала проходишься по всем строкам и упаковываешь их в специальный вид. Итак вся программа это массив строк. Ты переводишь их в массив структур вида: идентификатор структуры, набор параметров (ну скажем пять или шесть каких то данных, Variant или String, разберешься по обстоятельствам).
Ну вот: Код:
Код:
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика |
29.06.2010, 14:05 | #6 |
БохЪ
Форумчанин
Регистрация: 30.09.2009
Сообщений: 724
|
Проблема в том что я не знаю как их выполнить, можно ли попросить Вас привести полный код выполнения, если предположить что в файле всего одна проверка, и если она верно то выводится сообщение.
Содержимое файла source.txt: Код:
В планах порабощение вселенной...
|
29.06.2010, 14:09 | #7 |
not
Участник клуба
Регистрация: 27.06.2009
Сообщений: 1,399
|
Сначало надо объявить тип глобальных переменных интерпретатора:
Код:
А и еще так это все не объясниш, статью писать надо. Последний раз редактировалось VintProg; 29.06.2010 в 14:15. Причина: Ошибся не смейтись? |
29.06.2010, 14:25 | #8 |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
Я же тебе сказал как. Загоняешь строки в массив и смотришь что есть что. А потом цикл по числу элементов в массиве.
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика |
29.06.2010, 15:54 | #10 | |
БохЪ
Форумчанин
Регистрация: 30.09.2009
Сообщений: 724
|
Народ, перед вами нуб обыкновенный, поэтому сори конешно за тупость, но мне тяжело понять, как его именно выполнить?!
Код:
Цитата:
В планах порабощение вселенной...
|
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Можно ли ускорить выполнение этого кода? | 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 |