Portál AbcLinuxu, 8. května 2024 01:23


Dotaz: Typ diagramu pro popis kontextové gramatiky

17.4.2018 23:33 Sosák
Typ diagramu pro popis kontextové gramatiky
Přečteno: 654×
Odpovědět | Admin
Chystám se popsat jeden binární formát a rád bych k tomu přiložil nějaký diagram, protože si myslím, že to pomůže pochopení struktury dat. Pokud bychom se na formát dívali jako na jazyk/gramatiku, tak by to byla (zřejmě, případně mě opravte) gramatika kontextová a nešlo by data parsovat bezkontextově, protože obsahují takové věci, jako jsou délky polí nebo počty polí. Tzn. v jedné části se načte např. počet atributů - ten je potřeba si zapamatovat - a pak se používá při dalším parsování někde dál.

Zkoušel jsem trochu googlit, ale zatím jsem nic vhodného nenašel.

Nejvíc se mojí představě blíží tzv. Railroad (syntax) diagramy. Tak přemýšlím, že bych je "zneužil" a do popisů pod ně napsal, jak se to má parsovat - např. "počet těchto opakování je roven číslu, které jsme si dříve načetli v atributu XY" nebo "zde následuje datový typ DX, kde DX jsme si přečetli dříve v atributu DD" atd. Chápu, že to není úplně košer použití, ale IMHO to čtenáři nějakou celkovou představu o struktuře dá a osobně mi to přijde lepší než louskat jen odstavce textu a ten model si stavět pouze v hlavě - stejně by si to člověk představoval tak nějak, jak je to v tom diagramu a k tomu by měl na paměti ty omezující/upřesňující odpovědi.

Ale i tak je mi divné, že bych byl první, kdo tohle řeší a že by neexistoval vhodnější typ diagramu.
Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

18.4.2018 08:09 NN
Rozbalit Rozbalit vše Re: Typ diagramu pro popis kontextové gramatiky
Odpovědět | | Sbalit | Link | Blokovat | Admin
To je nejaky VS domaci ukol? Pro popis struktury binarniho souboru jsem pouzil tabulku podobnou napriklad strukture hlavicky paketu. Podobny priklad je napriklad struktura PE. Neni problem pouzit treba Dia a nektere struktury rozepsat.
18.4.2018 18:59 Sosák
Rozbalit Rozbalit vše Re: Typ diagramu pro popis kontextové gramatiky
Tohle znázornění formou tabulky znám, ale v tom se těžko popisují variabilní formáty, kde jsou různá větvení (třeba pro různé datové typy) nebo cykly (počet opakování nějaké části). Na to mi přijdou mnohem lepší ty Railroad diagramy. Ideální by byl nějaký hybrid mezi tím, kde by části byly formou tabulky a byly by tam hezky vidět jednotlivé bajty (nebo i bity), zatímco ty cykly a větvení by se vyjádřily podobně jako v tom Railroadu. A k tomu ideálně zakreslit nějak i tu kontextovost - např. šipka ukazující, že tahle hodnota určuje počet opakování támhle.

A nejde o žádnou školní úlohu, takže je jedno, jestli je to podle nějaké teorie správně a jak by to hodnotili u zkoušky na VŠ. Jde o čistě praktický pohled ve smyslu: Co by vám nejlíp pomohlo, kdybyste měli takový formát implementovat podle specifikace?
Bystroushaak avatar 5.5.2018 19:53 Bystroushaak | skóre: 36 | blog: Bystroushaakův blog | Praha
Rozbalit Rozbalit vše Re: Typ diagramu pro popis kontextové gramatiky
Odpovědět | | Sbalit | Link | Blokovat | Admin
Zkus se inspirovat tady: https://github.com/corkami/pics/blob/master/binary/README.md
blog.rfox.eu
8.5.2018 08:24 Zm
Rozbalit Rozbalit vše Re: Typ diagramu pro popis kontextové gramatiky
Odpovědět | | Sbalit | Link | Blokovat | Admin
Nedalo by se vyjít z ASN.1 ?

https://cs.wikipedia.org/wiki/Abstract_Syntax_Notation_One

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.