sexta-feira, 15 de junho de 2012

C# - Algumas notícias sobre o interpretador!

Bem...Eu tinha dito que queria fazer o interpretador em linguagem C . Pronto, eu fiz todas as funções que acabei desenvolvendo em C# ,  porém é muito melhor tratar strings com C# , então como se trata de um protótipo eu vou continuar a desenvolver nesta linguagem!

Até agora o interpretador distingue  e interpreta :

'comentários (É claro! Que não é interpretador e nem compilado  , simplesmente ignorado!!)
PRINT  , A função print , imprimi  somente textos por enquanto sem precisar especifica-los através de aspas(estou tentado corrigir).
Ele também distingue os tipos de dados do BASIC  puro, Int e String;

'Test
PRINT TESTANDO
$String = " "
%Integer = 0 

 Podemos fazer isso ai em cima somente ou coisas parecidas hahaha....Bem consegui fazer isso com apenas 134 linhas!Se fosse com C eu estaria na faixa de umas 300 ou mais , porém muito mais rápido!
 Vejam o print da tela abaixo!

(Clique na imagem para ampliar)

Quando eu terminar(Se terminar hhahaha!!!) eu posto o código completo , com os arquivos do projeto e com tudo que vocês tem direito para brincar assim como eu de criar interpretadores!Mas por enquanto apenas um "brinde" : A função PRINT (Do jeito que ela está no projeto) em C e C#.

C :

char funcao[]="";
//func palavra resevada
char msg[1500];
//msg
// FUNCAO PRINT
if(code == 2);
{
printf(" \n");
scanf("%s",msg,"\n");
if(msg==" ")
{
printf (" Erro ao executa a função print(msg em branco!)\n");
}
printf("%s",msg,"\n");
}
C#
                string msgOut = string.Empty;
                string funcao = string.Empty;
                string i      = string.Empty;

                    //Exibir o prompt
    System.Console.ForegroundColor = ConsoleColor.Green;
                    System.Console.Write(prompt);
                    System.Console.ResetColor();
                    //Receber entrada da funcao
                    funcao = System.Console.ReadLine();
         #region  Função PRINT
                    try
                    {
                        i = funcao.Substring(0, 5);
                        //Funcao IMPRIMIR (Print)
             if (i == "print" || i == "Print" || i == "PRINT")
                        {
                            //     msgOut = System.Console.ReadLine();
                            System.Console.Write("");
                            //Exibir saída
               msgOut = funcao.Substring(5, funcao.Length - 5);
      System.Console.ForegroundColor = ConsoleColor.DarkCyan;
                            System.Console.WriteLine(msgOut);
                            System.Console.ResetColor();
                        }
                    }
                    catch
                    { //Passar o char
                        Funcoes.nxtChar();
                    }
              #endregion




Bem...Em C# o código nessa parte ficou muito maior porque coloquei estrutura de tratamento de erros,cor da fonte e outras coisas ...Opa! Quase faltou , a função no C# nxtChar();, basta criar uma classe Funcoes e um metodo public nxtChar e colocar nele : System.Console.Write(string.Empty);

Então é isso , até o próximo post!


Nenhum comentário:

Postar um comentário