bison - başvuru kılavuzu, seçenekler, komut örnekleri


İSİM

bison - GNU Proje ayrıştırıcı üreteci (yacc değişimi)

ÖZET

bison [OPTION]... FILE

TANIM

Bison, yacc(1) tarzında bir ayrıştırıcı oluşturucudur. yacc için tasarlanmış girdi dosyalarıyla yukarı doğru uyumlu olmalıdır.

Girdi dosyaları, .y ile biten yacc kuralına uymalıdır. yacc'den farklı olarak, oluşturulan dosyaların sabit adları yoktur, bunun yerine girdi dosyasının önekini kullanırlar. Ayrıca, giriş dosyasına C++ kodunu koymanız gerekirse, adını C++ benzeri bir uzantıyla (.ypp veya .y++) bitirebilirsiniz, ardından bizon çıktıyı adlandırmak için uzantınızı takip edecektir. dosya (.cpp veya .c++). Örneğin, parse.yxx adlı bir dilbilgisi açıklama dosyası, oluşturulan ayrıştırıcıyı yacc yerine parse.tab.cxx adlı bir dosyada üretir. y.tab.c veya eski Bison sürümünün parse.tab.c.

bison'a verilebilecek seçeneklerin bu açıklaması, yetkili olarak alınması gereken bison.texi kılavuzundaki Çağrı düğümünden uyarlanmıştır.

Bison, hem geleneksel tek harfli seçenekleri hem de anımsatıcı uzun seçenek adlarını destekler. Uzun seçenek isimleri - yerine -- ile gösterilir. Seçenek adlarının kısaltmalarına, benzersiz oldukları sürece izin verilir. Uzun bir seçenek, --file-prefix gibi bir bağımsız değişken aldığında, seçenek adını ve bağımsız değişkeni = ile birleştirin.

LALR(1), IELR(1) veya kanonik LR(1) ayrıştırıcı tablolarını kullanan bir deterministik LR veya genelleştirilmiş LR (GLR) ayrıştırıcısı oluşturun.

Uzun seçenekler için zorunlu argümanlar, kısa seçenekler için de zorunludur. Aynısı isteğe bağlı bağımsız değişkenler için de geçerlidir.

Çalışma Modları:

-h, --help

bu yardımı göster ve çık

-V, --version

sürüm bilgisinin çıktısını alın ve çıkın

--print-localedir

yerel ayara bağlı verileri içeren çıktı dizini ve çıkış

--print-datadir

iskeletler ve XSLT içeren çıktı dizini ve çıkış

-u, --update

kaynak dilbilgisi dosyasına düzeltmeleri uygulayın ve çıkın

-f, --feature[=FEATURES]

çeşitli özellikleri etkinleştir

ÖZELLİKLER, aşağıdakileri içerebilen virgülle ayrılmış kelimelerin bir listesidir:

caret, diagnostics-show-caret

hataları düzeltme işaretleri ile göster

fixit, diagnostics-parseable-fixits

makine tarafından okunabilen düzeltmeleri göster

syntax-only

herhangi bir dosya oluşturma

all

Yukarıdakilerin hepsi

none

yukarıdakilerin hepsini devre dışı bırak

Teşhis:

-W, --warnings[=CATEGORY]

CATEGORY kategorisine giren uyarıları bildirin

--color[=WHEN]

teşhisin renklendirilip renklendirilmeyeceği

--style=FILE

renklendirici teşhisi için CSS DOSYASINI belirtin

Uyarı kategorileri şunları içerir:

conflicts-sr

S/R çakışmaları (varsayılan olarak etkindir)

conflicts-rr

R/R çakışmaları (varsayılan olarak etkindir)

counterexamples, cex

çatışma karşı örnekleri oluşturmak

dangling-alias

bir sembole bağlı olmayan dizi takma adları

deprecated

eskimiş yapılar

empty-rule

%empty olmayan boş kurallar

midrule-values

ayarlanmamış veya kullanılmayan orta kural değerleri

precedence

yararsız öncelik ve çağrışımcılık

yacc

POSIX Yacc ile uyumsuzluklar

other

diğer tüm uyarılar (varsayılan olarak etkindir)

all

'karşı örnekler', 'dangling-alias' ve 'yacc' dışındaki tüm uyarılar

no-CATEGORY

CATEGORY'deki uyarıları kapat

none

tüm uyarıları kapat

error[=CATEGORY]

uyarıları hata olarak kabul et

NE ZAMAN aşağıdakilerden biri olabilir:

always, yes

çıktıyı renklendir

never, no

çıktıyı renklendirme

auto, tty

çıktı aygıtı bir tty ise renklendir

Ayrıştırıcıyı Ayarlama:

-L, --language=LANGUAGE

çıktı programlama dilini belirtin

-S, --skeleton=FILE

kullanılacak iskeleti belirtin

-t, --debug

'-Dparse.trace' ile aynı izleme için çözümleyici aracı

--locations

konum desteğini etkinleştir

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

'%define NAME VALUE' ile benzer

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

'%define NAME VALUE' öğesini geçersiz kıl

-p, --name-prefix=PREFIX

'-Dapi.prefix={PREFIX}' tarafından kullanımdan kaldırılan harici sembollerin başına ÖNEK ekleyin

-l, --no-lines

'#line' yönergeleri oluşturma

-k, --token-table

belirteç adlarının bir tablosunu içerir

-y, --yacc

POSIX Yacc'a öykünmek

Çıktı Dosyaları:

-H, --header=[FILE]

ayrıca bir başlık dosyası oluştur

-d

aynı şekilde ancak DOSYA belirtemez (POSIX Yacc için)

-r, --report=THINGS

ayrıca otomatla ilgili ayrıntıları da üretin

--report-file=FILE

FILE'a rapor yaz

-v, --verbose

'--report=durum' ile aynı

-b, --file-prefix=PREFIX

çıktı dosyaları için bir ÖNEK belirtin

-o, --output=FILE

çıktıyı DOSYA'ya bırak

-g, --graph[=FILE]

ayrıca otomatın bir grafiğini çıkarır

--html[=FILE]

ayrıca otomatın bir HTML raporunu da verir

-x, --xml[=FILE]

ayrıca otomatın bir XML raporunu da verir

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

çıktı dosyalarında

ŞEYLER, aşağıdakileri içerebilen virgülle ayrılmış kelimelerin bir listesidir:

states

devletleri tanımla

itemsets

temel öğe setlerini kapanışlarıyla tamamlayın

lookaheads

açık bir şekilde ileriye dönük belirteçleri öğelerle ilişkilendirin

solved

shift/reduce çatışmalarını çözmeyi tanımlayın

counterexamples, cex

çatışma karşı örnekleri oluşturmak

all

yukarıdaki tüm bilgileri içerir

none

raporu devre dışı bırak

YAZAR

Robert Corbett ve Richard Stallman tarafından yazıldı.

HATALARI RAPORLAMA

Hataları adresine bildirin.
GNU Bison ana sayfası: .
GNU yazılımını kullanarak genel yardım: .
Eksiksiz belgeler için şunu çalıştırın: info bison.

TELİF HAKKI

Telif Hakkı © 2021 Free Software Foundation, Inc.
Bu ücretsiz bir yazılımdır; kopyalama koşulları için kaynağa bakın. HİÇBİR garanti yoktur; SATILABİLİRLİK veya BELİRLİ BİR AMACA UYGUNLUK için bile değil.

AYRICA BAKINIZ

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.