Вниз  Реализация "собственного" яп
- 11.04.2016 / 08:47
aRiGaTo
  Пользователь

aRiGaTo 
Сейчас: Offline
MoteX, а каким образом ты интерпретируешь остальные выражения? Например,
  1. a = 20;
  2. b = a * 2 + 1;

__________________
 don't tread on me
- 11.04.2016 / 08:50
MoteX
  Пользователь

MoteX 
Сейчас: Offline
aRiGaTo, здесь можно применить алгоритм обратной польской записи.
- 11.04.2016 / 08:52
aNNiMON
  Супервизор

aNNiMON 
Сейчас: Offline
Да там на самом деле всё легко, просто нужно знать (с)
__________________
 let live
- 11.04.2016 / 08:54
MoteX
  Пользователь

MoteX 
Сейчас: Offline
aNNiMON, поэтому я и обратился к тем, кто может знать.
Кстати, возможно ты мне подскажешь:)
- 11.04.2016 / 08:58
aRiGaTo
  Пользователь

aRiGaTo 
Сейчас: Offline
MoteX, ключевое слово - «можно». Ты даже с методами трансляции не знаком. Может, сначала изучишь их? Построение AST, LL(k)-парсинг. Хотя бы это.
P.S.: Спасибо, что не регулярками
__________________
 don't tread on me

Изменено aRiGaTo (11.04 / 08:59) (всего 2 раза)
- 11.04.2016 / 09:05
aNNiMON
  Супервизор

aNNiMON 
Сейчас: Offline
MoteX, я начинал с изучения существующих проектов. Вот полноценный интерпретатор Бейсика в одном исходнике. Jasic.java. Изучай, что неясно, спрашивай здесь.
__________________
 let live
- 11.04.2016 / 09:11
aNNiMON
  Супервизор

aNNiMON 
Сейчас: Offline
Если хочется чего-то более серьёзного - используй генераторы (например, ANTLR). Примеры: If/else statements in ANTLR using listeners, Getting ANTLR to generate a script interpreter. Но основы трансляции всё равно понадобятся.
__________________
 let live

Изменено aNNiMON (11.04 / 09:12) (всего 1 раз)
- 11.04.2016 / 09:17
MoteX
  Пользователь

MoteX 
Сейчас: Offline
aRiGaTo, Ну тот факт, что я выбрал алгоритм ОПЗ (есть ли причины, по которым он плох?), еще не говорит ни о чем. Я конечно буду уже сам искать способ решения. При изучении определенных багаж приложится, главное дать правильное направление.
Ты даже с методами трансляции не знаком - Ну увы, не приходилось иметь дел. Или Вы здесь на что-либо намекаете?
------------
aNNiMON, спасибо, буду изучать.
- 11.04.2016 / 09:19
MoteX
  Пользователь

MoteX 
Сейчас: Offline
По поводу ANTLR - натыкался. Пожалуй нужно изучить подробно.
- 11.04.2016 / 09:22
aRiGaTo
  Пользователь

aRiGaTo 
Сейчас: Offline
А ещё можно было немного поискать здесь:
Статьи:
Пишем компилятор - Введение by Oak,
Как создать свой язык программирования by aNNiMON,
Ещё был перевод Senderman'а по Boolean Compiler (или как-то так), но я его не смог найти.

Форум (нашёл только про формальные системы):
Грамматики языков программирования,
JFlap
__________________
 don't tread on me
Наверх  Всего сообщений: 183
Фильтровать сообщения
Поиск по теме
Файлы топика (3)