| 
					
				 | 
			
			
				@@ -1,76 +0,0 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-// Definição das classes utilizadas para armazenar o algoritmo 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-// Não adicionar elementos ao tipoDados, pois existem componentes que dependem do seu tamanho e isso afetará seu funcionamento 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-var tiposDados = Object.freeze({void:"void", integer:"integer", real:"real", text:"text", boolean:"boolean", vector:"vector"}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-var tiposComandos = Object.freeze({comment:"comment", reader:"reader", writer:"writer"}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-var Variavel = function(tipo, nome, valor, dimensoes = 0, eh_constante = false, linhas = 0, colunas = 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	this.tipo = tipo; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	this.nome = nome; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	this.valor = valor; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	this.dimensoes = dimensoes; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	this.eh_constante = eh_constante; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	this.linhas = linhas; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	this.colunas = colunas; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-var Funcao = function(nome, tipo_retorno = tiposDados.void, dimensoes_retorno = 0, lista_parametros = null, eh_principal = false, esta_oculta = false, variaveis = null, comentario_funcao = null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	this.nome = nome; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	this.tipo_retorno = tipo_retorno; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	this.dimensoes_retorno = dimensoes_retorno; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	this.lista_parametros = lista_parametros; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	this.eh_principal = eh_principal; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	this.esta_oculta = esta_oculta; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	this.variaveis = variaveis; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	this.comentario_funcao = comentario_funcao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	this.comandos = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-var Comentario = function(texto_comentario) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	this.tipo = tiposComandos.comment; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	this.texto_comentario = texto_comentario; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-var Comando = function(tipo) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	this.tipo = tipo; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-var Expressao = function(conteudo) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	this.conteudo = conteudo; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-var Programa = function () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	this.funcoes = new Array(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	this.globais = new Array(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-function adicionarFuncao(funcao) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	programa.funcoes.push(funcao); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-function adicionarVariavel(funcao, variavel) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	if (programa.funcoes[funcao].variaveis == null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		programa.funcoes[funcao].variaveis = new Array(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	programa.funcoes[funcao].variaveis.push(variavel); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//var tex = i18n('text'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-// Adicionando a função principal automaticamente 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-var programa = new Programa(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-var funcaoPrincipal = new Funcao(i18n("start"), tiposDados.void, 0, [], true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-funcaoPrincipal.comentario_funcao = new Comentario(i18n('text_comment_main')); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//funcaoPrincipal.lista_parametros.push(new Variavel(tiposDados.text, "args")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-adicionarFuncao(funcaoPrincipal); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-var funcaoSomar = new Funcao("somar", tiposDados.integer, 0, [], false, false, null, new Comentario(i18n('text_comment_start'))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-funcaoSomar.lista_parametros.push(new Variavel(tiposDados.integer, "a")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-funcaoSomar.lista_parametros.push(new Variavel(tiposDados.integer, "b")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-adicionarFuncao(funcaoSomar); 
			 |