|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
18.01.2013, 11:55 | #1 |
Регистрация: 11.11.2012
Сообщений: 7
|
Интерпретатор на Си
Задали написать простенький интерпретатор с парсером.
Смотрел исходники разных интерпретаторов, но нифига не понимаю (где-то 1 .с и пара .тх, а где-то по 10 .срр и по 30 .test. Я правильно понимаю, что он должен считать код из .тхт, написанный н моем языке) и выполнить его? Подскажите хотя бы, с чего начать. |
18.01.2013, 15:04 | #2 |
Форумчанин
Регистрация: 03.10.2010
Сообщений: 321
|
Во-первых, точно и четко определить все что будет в вашем языке - конструкции, операторы, синтаксис.
Далее можно начинать работать над программой . Пускай у нас только одна главная функция, переменные локальные и только к ней и три типа данных integer, floating, character. Из операторов у нас оператор ввода/вывода на консоль, оператор присвоения, оператор условия, оператор цикла с предусловием. Код:
Вот алгоритм программы пока не конец файла Считать строку. Взять первое слово - оператор удалить из строки первое слово если оператор == let operator_let(строка) - отдаем на исполнение оператора присваивание если оператор == integer add_integer_variable(строка) - добавляем переменную в какой-то массив переменных если оператор == print operator_print(строка) - оператор вывода и т. д. |
18.01.2013, 15:12 | #3 |
Форумчанин
Регистрация: 14.03.2012
Сообщений: 139
|
Какой это язык, если не секрет?)
|
18.01.2013, 15:18 | #4 |
Форумчанин
Регистрация: 03.10.2010
Сообщений: 321
|
я на ходу придумал просто что-нибудь полегче. Можно отметить сходство с бейсиком
|
18.01.2013, 15:27 | #5 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,291
|
Тогда уж легче интерпретатор Брейнфака написать, правда, никакого парсера не понадобится практически.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
|
18.01.2013, 15:47 | #6 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,331
|
Следущий по легкости написания интерпретатор - Forth
|
19.01.2013, 11:04 | #7 |
Регистрация: 11.11.2012
Сообщений: 7
|
Какие в итоге должны быть файлы?
И парсер работает только на основе tokena или там еще какие-то фишки есть? |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Интерпретатор | koljsch | C++ Builder | 0 | 07.11.2012 02:22 |
Интерпретатор | Дэнис | Помощь студентам | 10 | 24.02.2012 22:31 |
интерпретатор | aram111 | Помощь студентам | 2 | 15.10.2011 22:22 |
Интерпретатор | Bizunov | Помощь студентам | 0 | 03.06.2011 15:52 |