Я быстро написал интерпретатор для какого-то экспериментального языка программирования, с которым я придумал, в PHP (да, в PHP). В самом языке нет ничего особенного, я просто хотел попробовать.
У меня работают основные вещи (Hello World, ввод в вывод, манипулирование строками, арифметика), но я застреваю с управлением блоками и сгруппированными операторами.
Я имею в виду следующее: PHP и большинство других языков позволяют вам делать это: ((2+2)*(8+2)+2)
, конечно, не только с помощью математических вычислений.
Моя структура программы в настоящее время состоит из многомерного массива, построенного так:
ID => Type (Identifier, String, Int, Newline, EOF, Comma, ...)
Contents (If identifier, int or string)
- Как я могу разрешить выполнение операторов в определенном порядке, как в
пример PHP выше?