yaccplan9 - Online na nuvem

Este é o comando yaccplan9 que pode ser executado no provedor de hospedagem gratuita OnWorks usando uma de nossas várias estações de trabalho online gratuitas, como Ubuntu Online, Fedora Online, emulador online do Windows ou emulador online do MAC OS

PROGRAMA:

NOME


yacc - mais um compilador-compilador

SINOPSE


yacc [ opção ... ] gramática

DESCRIÇÃO


Yacc converte uma gramática livre de contexto e um código de tradução em um conjunto de tabelas para um
LR(1) analisador e tradutor. A gramática pode ser ambígua; as regras de precedência especificadas são
usado para quebrar ambigüidades.

O arquivo de saída, y.tab.c, deve ser compilado pelo compilador C para produzir um programa.
o programa deve ser carregado com uma função de analisador léxico, yylex (vazio) (frequentemente gerado por
lex(1)), com um principal (int argc, carbonizar * argv []) programa, e com uma rotina de tratamento de erros,
yyerror (char *).

As opções são

-o saída Saída direta para o arquivo especificado em vez de y.tab.c.

-Dn Criar arquivo y.depurar, contendo mensagens de diagnóstico. Para incorporá-los em
o analisador, compile-o com o símbolo do pré-processador yydebug definiram. A quantidade de
a saída de diagnóstico do analisador é regulada por valor n. O valor 0 relata
erros; 1 relata reduções; valores mais altos (até 4) incluem mais informações
sobre as transições de estado.

-v Criar arquivo y.saída, contendo uma descrição das tabelas de análise e de
conflitos decorrentes de ambigüidades na gramática.

-d Criar arquivo y.tab.hcontendo #define afirmações que associam yacc-atribuído
`códigos de token 'com` nomes de token' declarados pelo usuário. Incluir nos arquivos de origem
exceto y.tab.c para dar acesso aos códigos de token.

-s haste Altere o prefixo dos nomes dos arquivos y.tab.c, y.tab.h, y.depurar e y.saída para
haste.

-S Escreva um analisador que use Stdio em vez do impressão rotinas em libc.

-l Desative as diretivas #line no analisador gerado.

-a Gere um analisador que recebe um argumento do tipo Yyarg e passa este argumento
a cada invocação da função lexer, yylex. Yyarg contém por instância
state e um único membro visível ao usuário, arg, do tipo void *.

A especificação de yacc em si é essencialmente o mesmo que a versão UNIX descrita em
as referências mencionadas abaixo. além da -D opção, as principais diferenças relevantes são:

A interface para o ambiente C é, por padrão, por meio de em vez de
; O -S opção inverte isso.

O analisador aceita texto de entrada UTF (veja UTF(7)), que tem alguns efeitos.
Primeiro, o valor de retorno de yylex () não cabe mais em um baixo; segundo, o começo
o valor para não terminais agora é 0xE000 em vez de 257.

O analisador gerado pode ser recursivo: as ações podem chamar yyparse, por exemplo para
implementar uma espécie de #include declaração em um intérprete.

Finalmente, alguns funcionamentos internos não documentados do analisador foram alterados, que
pode afetar programas que sabem muito sobre sua estrutura.

Use yaccplan9 online usando serviços onworks.net



Programas online mais recentes para Linux e Windows