Существует ли интерпретатор OpenSource BASIC в Ruby / Python? - PullRequest
2 голосов
/ 15 декабря 2008

Я хочу что-то простое, чтобы поэкспериментировать / взломать. Я создал много интерпретаторов / компиляторов для c, и я просто хочу что-то простое. Базовый бейсик: D

Если вы ничего не знаете (я выполнил свой поиск в Google ...), yacc / bison - единственный путь?

Thx

Ответы [ 6 ]

4 голосов
/ 16 декабря 2008

PLY - отличная библиотека для создания парсеров для Python. Он имеет простой интерпретатор BASIC в качестве одного из примеров сценариев. Вы можете начать там.

3 голосов
/ 15 декабря 2008

Ни один из перечисленных в TheFreeCountry не приемлем? Ни один из них не написан на Python, но я думаю, что начинать с XBLite может быть более полезным, чем начинать с Yacc / Bison / PLY .

Кроме того, Vb2py может быть лучшей стартовой позицией, чем PLY.

Однако, если вы должны идти по маршруту PLY, рассмотрите грамматику MOLE Basic в качестве отправной точки, а не пытайтесь свернуть свою собственную с нуля.

1 голос
/ 16 декабря 2008

Вы можете также изучить виртуальную машину Parrot , которая, согласно сегодняшней википедии, имеет некоторую базовую поддержку.

1 голос
/ 16 декабря 2008

Я также не знаю базового переводчика под ruby, но, учитывая достаточно времени и интереса, ruby ​​легко «поддерживает» написание переводчика для любого языка, который вам нравится: Agile DSL Development в рубине . Я должен признать, что этот подход требует некоторых затрат времени. :( В конце презентации приведены ссылки на дальнейшие чтения, касающиеся DSL.

0 голосов
/ 05 сентября 2012

Есть пибазик (базовый питон), рокит-минибазик (рубиновый).

Чтобы они могли использовать графический интерфейс, нужно разработать расширения с набором инструментов для графического интерфейса kivy и shoes для Pybasic и Rockit-MiniBasic соответственно, а также Prima GUI для Perlbasic, если он вообще существует.

0 голосов
/ 16 декабря 2008

мини-база в рубине доступна здесь . Rockit кажется НАСТОЛЬКО веселее, чем racc.

...