x86128: (Default)
x86128 ([personal profile] x86128) wrote 2021-05-01 01:53 am (UTC)

Я так понимаю что одна строка кода - одна перфокарта и иметь поля фиксированной длины и расположения позволит построить транслятор быстрее и компактнее по размеру.

Ранее делал на python с использованием библиотеки PLY небольшой вариант транслятора БЕМШ.
По ходу стало ясно, что не смотря на возможность задавать грамматику в виде декларативных правил + действия к ним (PEG, flex, bison), код получается не сильно проще если кодировать парсер вручную. Ручные парсеры позволяют выдавать сообщения о синтаксических и семантических (некоторых) ошибках гораздо более читаемые + предлагать возможные исправления/предположения.

https://github.com/x86128/py-bemsh

Потом надо будет посмотреть в сторону использования парсер-комбинаторов для построения ast и дальнейшего преобразования кусков этого ast в машинный код.

Post a comment in response:

This account has disabled anonymous posting.
If you don't have an account you can create one now.
No Subject Icon Selected
More info about formatting