Bu, Ubuntu Online, Fedora Online, Windows çevrimiçi emülatörü veya MAC OS çevrimiçi emülatörü gibi birden fazla ücretsiz çevrimiçi iş istasyonumuzdan birini kullanarak OnWorks ücretsiz barındırma sağlayıcısında çalıştırılabilen yaccplan9 komutudur.
Program:
ADI
yacc - başka bir derleyici-derleyici
SİNOPSİS
yacc [ seçenek ... ] dilbilgisi
TANIM
yacc bağlamdan bağımsız bir dilbilgisi ve çeviri kodunu bir dizi tabloya dönüştürür.
LR(1) ayrıştırıcı ve çevirmen. Dilbilgisi belirsiz olabilir; belirtilen öncelik kuralları
belirsizlikleri ortadan kaldırmak için kullanılır.
çıktı dosyası, y.tab.c, bir program üretmek için C derleyicisi tarafından derlenmelidir.
program bir sözcük çözümleyici işleviyle yüklenmelidir, yylex(boş) (genellikle
Lex(1)), bir ana(int argc, tank *argv[]) program ve bir hata işleme rutini ile,
yyhata(karakter*).
Seçenekler
-o çıktı yerine belirtilen dosyaya doğrudan çıktı y.tab.c.
-Dn Dosya oluştur y.hata ayıklama, teşhis mesajları içerir. Onları dahil etmek için
ayrıştırıcı, önişlemci sembolü ile derleyin hata ayıklama tanımlı. Miktarı
ayrıştırıcıdan teşhis çıktısı değere göre düzenlenir n. 0 değeri raporlar
hatalar; 1 rapor indirimleri; daha yüksek değerler (4'e kadar) daha fazla bilgi içerir
Durum geçişleri hakkında.
-v Dosya oluştur y.çıktı, ayrıştırma tablolarının ve
dilbilgisindeki belirsizliklerden kaynaklanan çatışmalar.
-d Dosya oluştur y.tab.hiçeren #tanımlamak ilişkilendiren ifadeler yacc-atanmış
Kullanıcı tarafından bildirilen "belirteç adları" ile "belirteç kodları". Kaynak dosyalara dahil edin
başka y.tab.c belirteç kodlarına erişim vermek için.
-s kök Dosya adlarının önekini değiştirin y.tab.c, y.tab.h, y.hata ayıklama, ve y.çıktı için
kök.
-S yerine Stdio kullanan bir ayrıştırıcı yazın. baskı libc'deki rutinler.
-l Oluşturulan ayrıştırıcıda #line yönergelerini devre dışı bırakın.
-a Yyarg türünde bir argüman alan ve bu argümanı geçen bir ayrıştırıcı oluşturun
lexer işlevinin her çağrısına, yylex. Yyarg, örnek başına içerir
durum ve void* türünde, kullanıcı tarafından görülebilen tek bir üye, arg.
Özellikleri yacc kendisi temelde açıklanan UNIX sürümüyle aynıdır.
aşağıda belirtilen referanslar. yanında -D seçeneği, ilgili ana farklılıklar şunlardır:
C ortamının arayüzü varsayılan olarak şu şekildedir: ziyade
; -S seçeneği bunu tersine çevirir.
Ayrıştırıcı UTF giriş metnini kabul eder (bkz. utf(7)), birkaç etkisi vardır.
İlk olarak, dönüş değeri yylex() artık uymuyor kısa; ikincisi, başlangıç
terminal olmayanlar için değer artık 0 yerine 000xE257'dir.
Oluşturulan ayrıştırıcı özyinelemeli olabilir: eylemler çağırabilir ayrıştırma, örneğin
bir tür uygulamak #Dahil etmek bir tercümandaki ifade.
Son olarak, ayrıştırıcının belgelenmemiş bazı iç işleyişi değiştirildi, bu da
yapısı hakkında çok şey bilen programları etkileyebilir.
onworks.net hizmetlerini kullanarak yaccplan9'u çevrimiçi kullanın