.[ ČeskéHry.cz ].
Bison grammar

 
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> Obecné
Zobrazit předchozí téma :: Zobrazit následující téma  
Autor Zpráva
nou



Založen: 28. 07. 2007
Příspěvky: 1051

PříspěvekZaslal: 6. březen 2011, 13:38:40    Předmět: Bison grammar Odpovědět s citátem

takze prilezitost pre gramar nazi Very Happy
mam nasledovnu gramatiku http://nopaste.ceske-hry.cz/223280 tu je osekana verzia
kód:
    9 BOOLEXP: BOOL
   10        | "(" BOOLEXP ")"

   25 REALEXP: IDREF
   26        | "(" REALEXP ")" 

   31 IDREF: CELLREF
   32      | CONSTANT
   33      | FUNCTION

   37 CONSTANT: INT
   38         | REAL
   39         | "const function"
   40         | "?"

   53 BOOL: "t"
   54     | "f"
   55     | "?"


a problem je nasledovny. tato gramatika umoznuje naseldovny zapis (?) teda otaznik v zatvorke. na to ale existuje dvojity meter. a to povazovat to za BOOL hodnotu alebo za CONSTANT. vyznam je neznama v trojhodnotevej logike pri BOOL a CONSTANT je to ekvivalent NaN.

z toho vznika konflikt. poradi ako ho niekto vyriesit?
_________________
Najjednoduchšie chyby sa najtažšie hľadajú.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Quiark



Založen: 29. 07. 2007
Příspěvky: 816
Bydliště: Chlívek 401

PříspěvekZaslal: 6. březen 2011, 14:13:04    Předmět: Odpovědět s citátem

No jak na to koukám, tak ? může být jak constant, tak bool. Podle čeho má ten parser poznat, co si tam zrovna představuješ?
_________________
Mám strach
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
sulthan



Založen: 24. 10. 2007
Příspěvky: 104

PříspěvekZaslal: 6. březen 2011, 15:30:52    Předmět: Odpovědět s citátem

Oba otazniky znamenaji neco jineho, tak misto jednoho z nich dej jiny terminal, treba "fuzzy" misto otazniku pro bool.

edit: druha moznost, co me napada - dat otaznik uz k IDREF a s tim, jestli zastupuje bool nebo konstantu, se vyporadat az v semanticke analyze. Samozrejme netusim, ceho presne chces gramatikou a tim otaznikem dosahnout, tak se tezko radi Smile
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail
nou



Založen: 28. 07. 2007
Příspěvky: 1051

PříspěvekZaslal: 6. březen 2011, 15:39:31    Předmět: Odpovědět s citátem

to je riesenie ktore ma tiez napadlo. ono ta gramatika je ale uz zadana z jedneho paperu takze som ju chcel dodrzat co najpresnejsie. ono sa to rozoznat da z kontextu. kedze bool moze byt v spojeni s and,or,xor,imp... a zase const v spolonosti relacnych operatorov. lenze kontextove gramatiky akosi neficia. aspon teda som nenasiel generator parsera ktory by vedel contextove gramatiky.

hlavne som sa chcel uistit ze nie je nejake elegantne riesenie.
_________________
Najjednoduchšie chyby sa najtažšie hľadajú.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Quiark



Založen: 29. 07. 2007
Příspěvky: 816
Bydliště: Chlívek 401

PříspěvekZaslal: 6. březen 2011, 16:43:46    Předmět: Odpovědět s citátem

Ono to nějak jde - když máš třeba bool var = true AND ?; tak už od bool ta gramatika může vědět, co to bude. Ale bude to složitější a gramatika bude vypadat hnusně.
_________________
Mám strach
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
Al



Založen: 23. 10. 2007
Příspěvky: 196

PříspěvekZaslal: 7. březen 2011, 03:03:55    Předmět: Odpovědět s citátem

Nejsem až takový expert na překladače, takže se možná pletu. Myslím, že by se neměla míchat analýza syntaxe se sémantikou. Takže gramatiku bych asi jen upravil, aby se tam otazník správně označil jako terminál typu BOOLORCONSTANT.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
sulthan



Založen: 24. 10. 2007
Příspěvky: 104

PříspěvekZaslal: 7. březen 2011, 11:47:45    Předmět: Odpovědět s citátem

AI: michat by se samozrejme nemela, ale u nekterych hnusnych gramatik to uplne nejde... a nechtelo se mi ji studovat tak podrobne.

Kdyz koukam na tu gramatiku, tak to zrejme rozeznat pujde, ale psat ty pravidla nebude moc snadne... Kdybych to delal ja, tak se asi vykaslu na bizona a napisu si proste rekurzivni funkce pro analyzu shora. Ta gramatika je kratoucka, tak bys to mel za dve hodky hotove... a tam by sis kontext poresil mnohem jednoduseji.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail
Zobrazit příspěvky z předchozích:   
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> Obecné Časy uváděny v GMT + 1 hodina
Strana 1 z 1

 
Přejdi na:  
Nemůžete odesílat nové téma do tohoto fóra
Nemůžete odpovídat na témata v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete hlasovat v tomto fóru


Powered by phpBB © 2001, 2005 phpBB Group


Vzhled udelal powermac
Styl "vykraden" z phpBB stylu MonkiDream - upraveno by rezna