Finalmente comecei a entender a complexidade por trás da criação de um intérprete e um compilador. Criei várias versões do TinyBasic, 1964 (Dartmouth) Basic, e minhas próprias expansões nesses idiomas antes de chegar a esse ponto. O projeto mais recente é o que chamo de Open Source Basic ... porque não conseguia pensar em outros recursos do idioma que interessariam às pessoas. Ser capaz de abrir a fonte do idioma e entender como são feitas algumas coisas complexas (como são feitas a varredura, a análise, a interpretação e a compilação)
O Open Source Basic é interpretado primeiro em um idioma baseado em pilha. Essa linguagem baseada em pilha é então interpretada e executada imediatamente ou transformada em um executável CLR.
Todas as minhas perguntas se resumem a isso:
- Quais são os recursos / construções básicos de uma linguagem baseada em Basic? Eu já tenho essas construções básicas: Atribuições, Expressões, Variáveis, algumas funções (Aleatória, ToUpper, ToLower), Looping (por e fazer enquanto / até), If (bloco e linha única) Decisões Else, entrada baseada em console (Entrada) ) e saída (Imprimir) e sub-rotinas (sem parâmetros ainda).
- Quando termino de adicionar as construções básicas no meu idioma - como devo ramificar? Em que domínio (s)? Em outras palavras, que direção minha linguagem básica de código aberto deve seguir depois que todas as construções genéricas funcionarem?
Obrigado pelo seu tempo,
Dominick