Я наконец начал понимать сложность создания интерпретатора и компилятора. Я построил несколько версий TinyBasic, 1964 (Dartmouth) Basic и свои собственные расширения на этих языках, прежде чем перейти к этой точке. Самый последний проект, который я называю Open Source Basic ... потому что я не мог придумать никаких других возможностей языка, которые интересовали бы людей. Чтобы иметь возможность открыть источник языка и понять, как выполняются некоторые сложные вещи (как выполняется сканирование, анализ, интерпретация и компиляция)
Open Source Basic сначала интерпретируется на основе стекового языка. Этот основанный на стеке язык затем интерпретируется и выполняется немедленно или превращается в исполняемый файл CLR.
Все мои вопросы сводятся к следующему:
- Каковы основные особенности / конструкции языка на основе Basic? У меня уже есть эти основные конструкции: присваивания, выражения, переменные, некоторые функции (Random, ToUpper, ToLower), циклы (для и до / во время / до), If (блочные и однострочные), другие решения, консольный ввод (ввод ) и вывод (Печать), и подпрограммы (пока без параметров).
- Когда я «закончу», добавив базовые конструкции на мой язык - как мне перейти? В какие домены? Другими словами, в каком направлении следует выбрать базовый язык с открытым исходным кодом, когда все общие конструкции работают?
Спасибо за ваше время,
Доминик