/ / Passando de analisar / ler um arquivo de texto inteiro para analisar / ler linha por linha - c ++, parsing, intérprete

Passando da análise / leitura de um arquivo de texto inteiro para análise / leitura linha por linha - c ++, parsing, interpretador

Estou fazendo um intérprete muito básico (usando meuprópria linguagem) para as funções da teoria dos conjuntos (união, interseção etc.). Estou codificando com C ++ e atualmente lendo e analisando a partir do arquivo .txt. No entanto, estou tentando fazer com que o código possa ser executado de maneira "comando por comando", sem que a janela de comando seja fechada. Espero poder ler e executar várias funções, uma após a outra, usando o retorno de carro.

Existe uma maneira de alterar meu analisador para que ele continue aceitando comandos / funções em vez de ler o arquivo .txt inteiro de uma só vez?

Respostas:

1 para resposta № 1

Geralmente, ao "analisar" algo, a idéia é ler o token de cada vez e não se importar muito com linhas e outras coisas desse tipo.

Se seu idioma estiver estruturado dessa maneira, vocêvocê pode apenas ler seu idioma como um fluxo e, quando vir uma chamada para uma função (ou o que você quiser chamar), execute essa função à medida que avança [assumindo que você não compila com o código de máquina que requer a coisa toda para ser compilado de uma só vez, é claro - se for esse o caso, você estará trabalhando um pouco ...]

Mas se você quiser ler uma linha de cada vez, use o istream& getline(istream&, std::string&) método. Ele lê uma única linha. Você então analisa essa linha e faz o que faz sentido com o resultado da análise.