Qual é o termo técnico para programas de ambiente de aplicativo de linha de comando?

1

Alguns programas que são executados no terminal, depois de chamá-los, alternam a linha de comando para seu próprio ambiente, como "R" (linguagem de programa estatístico) ou "GHCi" (Haskell interativo).

Qual é o termo técnico para isso?

Referências, tutoriais sobre como escrever programas bash com seu próprio ambiente seriam ótimos.

exemplo

name@name ~$GOOFY
GOOFY >mv foo (where goofy's mv does something else then regular mv)
    
por user216125 08.06.2015 / 23:37

2 respostas

7

Eu acho REPL (leia-eval-print-loop) é o que você está procurando.

Na página da Wikipédia:

A read–eval–print loop (REPL), also known as an interactive toplevel or language shell, is a simple, interactive computer programming environment that takes single user inputs (i.e. single expressions), evaluates them, and returns the result to the user; a program written in a REPL environment is executed piecewise.

    
por 08.06.2015 / 23:40
-1

Eu chamaria esse tipo de coisa de "intérprete". Já usei algumas ferramentas de desenvolvimento padrão lex (na verdade flex ) e yacc ou bison . Para explodir meu próprio chifre, meu interpretador de lógica combinatória funciona praticamente como você descreve, e você pode encontrar Stackoverflow respostas que recomendam esse caminho. Muitos tutoriais existe na web (de qualidade variável) para lex e yacc . Os tutoriais podem falar de construir compiladores, mas o código flex -gerer reconhecido reconhece o uso interativo e age de acordo. Além disso, o exemplo canônico de algo nesse tipo de intérprete é uma "calculadora científica". Não deixe que esse tipo de coisa te incomoda. Se você puder definir os comandos desejados, poderá criar uma gramática BNF para ela em bison . Você pode ter que repetir algumas vezes, mas os compromissos não serão tão ruins assim.

    
por 09.06.2015 / 01:00