Bazı gramer kurallarım ile ilgili bir sorunum var.GPPG-Dilbilgisi - Bir kural hiç kullanılmayacak
gramer aşağıdaki gibidir: Input ile
defLINES : carrRet
| defLine carrRet
| defLines defLine carrRet
;
defLine : error carrRet {yyerrok();}
| "DEF" kwType attrbt ID
| "DEF" kwType ID fieldSuff
;
kwType : "INT"
| "REAL"
;
fieldSuff: "[" expr "]"
| "[" expr "," expr "]"
;
attrbt : /* nothing */
| "PHU" intValue
;
kontrol etmek: Bu Girişi için
DEF INT testvar1
DEF REAL testvar2
kafa "defLine" ile üretimin ikinci kural kullanılmalıdır.
Neden değil? Üçüncü kural her zaman
Unexpected 'carRet', '[' expected.
Teşekkür yardım için bir sürü Alex kullanılan ve bir hata atar edilecek gramer mutlaka en az bir vardiya/üretim attrbt: /* nothing */
olduğuna dair bir uyarı ile birlikte çatışma azaltmak üretilen Yani
Tamam, yardımlarınız için teşekkürler! Sorunu semantik Eylemde çözmeye karar verdim ve attrbt'e izin verdim. Teşekkürler ... =) – Alex