Обо мне
Привет! Меня зовут Лис и это мой блог. Здесь я могу ныть и страдать, писать про код и обо всем.
Январь 2025
ПнВтСрЧтПтСбВс
12345
6789101112
13141516171819
20212223242526
2728293031
Теги
Блог страдающего Лиса
Lorem ipsum hello dolor sit world amet

07 янв 2025 Вт Парсер выражений не очень то хорош

Да, на первый раз, он допустим, но при усложнении программы, такой парсер выражений совершенно никуда не годится, а это является основой основ для любого языка программирования, в том числе, Бейсика. Сейчас сделано очень примитивно, обычная интерпретация выражений, но надо придумать как сделать правильно. Это значит, что перед тем как строку перевести в интерпретируемый вид, необходимо построить правила ее вычисления. К примеру
X = A + B*C + D*E
Вычисляем сначала B*C, потом складываем A + полученный результат вычислений. Потом вычисляем D*E, складываем с предыдущим результатом. Вообще, получается стековая машина.
Сначала рассчитывается B*C, потом D*E, после расчета, полученные узлы складываются (всего их 3). Но можно реализовать эту логику по-разному. То есть сначала рассчитать B*C, сложить A и полученный результат. Потом вычислить D*E, и сложить с предыдущим результатом.
Займусь лучше доработкой по ZX Spectrum Бейсику.
clipboard.png
<< Ранние записи | Поздние записи >>