Skip to content

Instantly share code, notes, and snippets.

@romildo
Created May 13, 2019 21:13
Show Gist options
  • Save romildo/a80d315ad5eee23429391b601c0fb41d to your computer and use it in GitHub Desktop.
Save romildo/a80d315ad5eee23429391b601c0fb41d to your computer and use it in GitHub Desktop.
uint n = tamanho de decs;
uint i = 0;
while (i < n) {
if (decs[i] é função) {
uint i_saved = i;
while (decs[i] é função) {
colocar decs[i] na tabela de símbolos;
i = i + 1;
}
i = i_saved;
while (decs[i] é função) {
analisar o corpo da função
i = i + 1;
}
}
else if (decs[i] é tipo) {
fazer similar a função, pois tipos também podem ser mutuamente recursivos;
}
else if (decs[i] é variável) {
fazer de variável;
}
else {
bug;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment