ivprog-visual-1.0.js 1023 B

1234567891011121314151617181920212223242526272829303132
  1. // Definição das classes utilizadas para armazenar o algoritmo
  2. var tiposDados = Object.freeze({void:"void", integer:"integer", real:"real", text:"text", boolean:"boolean"});
  3. var Variavel = function(tipo, nome, dimensoes = 0) {
  4. this.tipo = tipo;
  5. this.nome = nome;
  6. this.dimensoes = dimensoes;
  7. };
  8. var Funcao = function(nome, tipo_retorno = tiposDados.void, dimensoes_retorno = 0, lista_parametros = null, eh_principal = false, esta_oculta = false) {
  9. this.nome = nome;
  10. this.tipo_retorno = tipo_retorno;
  11. this.dimensoes_retorno = dimensoes_retorno;
  12. this.lista_parametros = lista_parametros;
  13. this.eh_principal = eh_principal;
  14. this.esta_oculta = esta_oculta;
  15. };
  16. var Programa = function () {
  17. this.funcoes = new Array();
  18. };
  19. Programa.prototype.adicionarFuncao = function(funcao){
  20. this.funcoes.push(funcao);
  21. };
  22. // Adicionando a função principal automaticamente
  23. var programa = new Programa();
  24. var funcaoPrincipal = new Funcao("principal", tiposDados.void, 0, null, true);
  25. programa.adicionarFuncao(funcaoPrincipal);