Não se engane com "fazendo do zero" essa é uma das maiores mentiras que existem no mundo do desenvolvimento de software. Evite inclusive usar a frase em qualquer texto, passa inexperiência.
A julgar pela falta de tipagem estatística, imagino que seja um interpretador que você está desenvolvendo. Ótimo trabalho até aqui. 2 meses honestamente parecem muita coisa pra o que você tem, mas julgo que seja por causa do aprendizado.
Não recomendo fazer um curso por agora, vejo que você ainda não tem conhecimento aprofundado e muito menos conhecimento dos termos técnico básicos. Imagino que seja seu primeiro, então tenha paciência. Sei que pode parecer grande coisa para alguém que está começando, mas parsear e executar código é algo extremamente simples (compiladores é literalmente matéria de faculdade).
Tenha paciência e aperfeiçoe seu código. Faça 2, 3 interpretadores, compiladores, transpiladores, etc. Só assim você vai ter certeza que está pronto pra reproduzir a teoria pra outra pessoa. Ainda assim, ensinar é um ótimo método de aprendizagem. Se você sente real confiança e não tem medo de errar, vai fundo.
Algumas sugestões:
- Sugiro substituir
begin .. endpor brackets, é mas apenas uma preferência pessoal, mas também uma opinião popular. - implementar constantes
- implementar tipagem (pode continuar com tipagem dinâmica, mas dê a opção do usuário definir um tipo fixo. Sua linguagens não vai longe sem tipagem e, honestamente, é a parte mais divertida)
- estruturas (dictionary simples ou structs caso implemente tipagem básica)
Se quiser conversar mais, me chama @lumi_nya no discord. Estou desenvolvendo um compilador a 2 anos, sem contar anos anteriores de estudo e protótipos. Posso te ajudar bastante se estiver realmente disposto à aprender