bison - manual de referência, opções, exemplos de comandos


NOME

bison - Gerador de parser do Projeto GNU (substituição yacc)

SINOPSE

bison [OPTION]... FILE

DESCRIÇÃO

Bison é um gerador de analisador no estilo de yacc(1). Deve ser compatível com arquivos de entrada projetados para yacc.

Os arquivos de entrada devem seguir a convenção yacc de terminar em .y. Ao contrário de yacc, os arquivos gerados não possuem nomes fixos, mas usam o prefixo do arquivo de entrada. Além disso, se você precisar colocar código C++ no arquivo de entrada, você pode terminar seu nome com uma extensão semelhante a C++ (.ypp ou .y++), então o bison seguirá sua extensão para nomear a saída (.cpp ou .c++). Por exemplo, um arquivo de descrição gramatical denominado parse.yxx produziria o analisador gerado em um arquivo denominado parse.tab.cxx, em vez de yacc 's y.tab.c ou versão antiga do Bison parse.tab.c.

Esta descrição das opções que podem ser dadas ao bison é adaptada do nó Invocation do manual bison.texi, que deve ser considerado como autoritário.

Bison oferece suporte a opções tradicionais de uma única letra e nomes de opções mnemônicas longas. Nomes longos de opções são indicados com -- em vez de -. Abreviações para nomes de opções são permitidas, desde que sejam exclusivas. Quando uma opção longa usa um argumento, como --file-prefix, conecte o nome da opção e o argumento com =.

Gere um analisador determinístico LR ou LR generalizado (GLR) empregando tabelas de analisador LALR(1), IELR(1) ou LR(1) canônico.

Argumentos obrigatórios para opções longas também são obrigatórios para opções curtas. O mesmo é verdadeiro para argumentos opcionais.

Modos de operação:

-h, --help

exibir esta ajuda e sair

-V, --version

informações de versão de saída e saída

--print-localedir

diretório de saída contendo dados dependentes de localidade e saída

--print-datadir

diretório de saída contendo esqueletos e XSLT e saia

-u, --update

aplicar correções ao arquivo de gramática de origem e sair

-f, --feature[=FEATURES]

ativar recursos diversos

FEATURES é uma lista de palavras separadas por vírgulas que podem incluir:

caret, diagnostics-show-caret

mostrar erros com circunflexos

fixit, diagnostics-parseable-fixits

mostrar correções legíveis por máquina

syntax-only

não gere nenhum arquivo

all

tudo o que precede

none

desativar todos os itens acima

Diagnósticos:

-W, --warnings[=CATEGORY]

relatar os avisos que se enquadram em CATEGORY

--color[=WHEN]

se deseja colorir os diagnósticos

--style=FILE

especifique o arquivo CSS para diagnóstico do colorizador

As categorias de advertência incluem:

conflicts-sr

Conflitos S/R (ativado por padrão)

conflicts-rr

Conflitos R/R (ativado por padrão)

counterexamples, cex

gerar contra-exemplos de conflito

dangling-alias

aliases de string não anexados a um símbolo

deprecated

construções obsoletas

empty-rule

regras vazias sem %vazio

midrule-values

valores de regra intermediária não definidos ou não utilizados

precedence

precedência inútil e associatividade

yacc

incompatibilidades com POSIX Yacc

other

todos os outros avisos (ativados por padrão)

all

todos os avisos, exceto 'counterexamples', 'dangling-alias' e 'yacc'

no-CATEGORY

desativar avisos em CATEGORY

none

desligue todos os avisos

error[=CATEGORY]

tratar avisos como erros

QUANDO pode ser um dos seguintes:

always, yes

colorir a saída

never, no

não colorize a saída

auto, tty

colorize se o dispositivo de saída for um tty

Ajustando o analisador:

-L, --language=LANGUAGE

especificar a linguagem de programação de saída

-S, --skeleton=FILE

especifique o esqueleto a ser usado

-t, --debug

instrumentar o analisador para rastrear o mesmo que '-Dparse.trace'

--locations

habilitar o suporte de localização

-D, --define=NAME[=VALUE]

semelhante a '%define NAME VALUE'

-F, --force-define=NAME[=VALUE]

substituir '%define NAME VALUE'

-p, --name-prefix=PREFIX

anexar PREFIX aos símbolos externos obsoletos por '-Dapi.prefix={PREFIX}'

-l, --no-lines

não gere diretivas '#line'

-k, --token-table

incluir uma tabela de nomes de token

-y, --yacc

emular POSIX Yacc

Arquivos de saída:

-H, --header=[FILE]

também produzir um arquivo de cabeçalho

-d

da mesma forma, mas não pode especificar FILE (para POSIX Yacc)

-r, --report=THINGS

também produzir detalhes sobre o autômato

--report-file=FILE

gravar relatório em ARQUIVO

-v, --verbose

o mesmo que '--report=estado'

-b, --file-prefix=PREFIX

especificar um PREFIX para arquivos de saída

-o, --output=FILE

deixe a saída para FILE

-g, --graph[=FILE]

também emita um gráfico do autômato

--html[=FILE]

também gera um relatório HTML do autômato

-x, --xml[=FILE]

também gera um relatório XML do autômato

-M, --file-prefix-map=OLD=NEW replace prefix OLD with NEW when writing file paths

em arquivos de saída

COISAS é uma lista de palavras separadas por vírgulas que podem incluir:

states

descreva os estados

itemsets

complete os conjuntos de itens principais com seu fechamento

lookaheads

associar explicitamente tokens lookahead a itens

solved

descrever mudança/reduzir resolução de conflitos

counterexamples, cex

gerar contra-exemplos de conflito

all

inclua todas as informações acima

none

desativar o relatório

AUTOR

Escrito por Robert Corbett e Richard Stallman.

RELATANDO BUGS

Relate bugs para bug-bison@gnu.org.
Página inicial do GNU Bison: https://www.gnu.org/software/bison/.
Ajuda geral usando o software GNU: https://www.gnu.org/gethelp/.
Para obter a documentação completa, execute: info bison.

DIREITO AUTORAL

Copyright © 2021 Free Software Foundation, Inc.
Este é um software livre; veja a fonte para condições de cópia. NÃO há garantia; nem mesmo para COMERCIABILIDADE ou ADEQUAÇÃO PARA UM FIM ESPECÍFICO.

VEJA TAMBÉM

lex(1), flex(1), yacc(1).

The full documentation for bison is maintained as a Texinfo manual. If the info and bison programs are properly installed at your site, the command

info bison

should give you access to the complete manual.