Date: 2021-05-01 01:53 am (UTC)
x86128: (Default)
From: [personal profile] x86128
Я так понимаю что одна строка кода - одна перфокарта и иметь поля фиксированной длины и расположения позволит построить транслятор быстрее и компактнее по размеру.

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

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

Потом надо будет посмотреть в сторону использования парсер-комбинаторов для построения ast и дальнейшего преобразования кусков этого ast в машинный код.
This account has disabled anonymous posting.
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting

Profile

x86128: (Default)
x86128

April 2023

S M T W T F S
      1
2345678
9101112131415
16171819202122
232425 26272829
30      

Style Credit

Expand Cut Tags

No cut tags
Page generated May. 22nd, 2025 01:06 pm
Powered by Dreamwidth Studios