Я нарешті почав розуміти складність створення інтерпретатора та компілятора. Я створив кілька версій TinyBasic, 1964 (Dartmouth) Basic, і власні розширення на цих мовах, перш ніж дійти до цього моменту. Найновіший проект - я називаю Open Source Basic ... тому що я не міг придумати жодних інших особливостей мови, які б зацікавили людей. Щоб мати можливість відкрити джерело мови та зрозуміти, як робляться деякі складні речі (як сканування, аналіз, інтерпретація та компілювання)
Open Source Basic спочатку інтерпретується мовою на основі стека. Ця мова на основі стека потім інтерпретується та виконується негайно або перетворюється на виконуваний CLR.
Усі мої запитання зводяться до цього:
- Які основні особливості / конструкції мови на основі базових? У мене вже є такі основні конструкції: призначення, вирази, змінні, деякі функції (випадкові, ToUpper, ToLower), циклічні (для та час / поки / до), якщо (блокові та однорядкові) інші рішення, введення на основі консолі (введення ) та вихід (Друк) та підпрограми (поки немає параметрів).
- Коли я закінчую, додаючи основні конструкції до своєї мови - як я повинен розгалужуватись? У який домен (и)? Іншими словами, які напрями (орієнтації) повинні виконувати мої основні мови з відкритим вихідним кодом, як тільки я зроблю всі загальні конструкції?
Спасибі за ваш час,
Домінік