-
Data: 2010-02-22 13:05:07
Temat: Re: gramatyka bylo Re: Ksiazka/tutorial do lekserow
Od: "Lucjan J.A. Tumim" <L...@a...fm.pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]Jacek Czerwinski wrote:
> Lucjan J.A. Tumim pisze:
>> Jacek Czerwinski wrote:
>>
>>> Lucjan J.A. Tumim pisze:
>>>> To ja sie podepne pod watek i zapytam. Ma ktos jakas gotowa gramatyke
>>>> XML i ew. jakiegos kawalka jabber-a?
>>>>
>>> a) dlaczego XML gramatyką?
>> Nie XML gramatyką tylko gotową gramatyke XML. Opis składni dowolnego
>> dokumentu XML zapisana np. w yacc.
> Od gramatyki XML jako takiej (tzn kończącą się na TAG jako taki) po
> konkretną gramatykę jabbera droga daleka (tzn poziom apliakacji
> sieciowej trzeba napisac)
> Parsowanie XML gramatyką i parserem ? Nie jestem teoretykiem i
> specjalistą, ale dla mnie jak mieszanie herbaty przynajmniej widelcem.
Będziesz się śmiał, ale tak właśnie piszę swój komunikator. Mam pliki
napisane w swoim języku i generuje z nich aplikację. Tak samo jest ze stosem
jabbera i logiką i kontrolkami. Zreszta AbiWord tez tak robi, ale
bałaganiarsko. Za to uruchomisz to na dowolnej maszynie i systemie jak
chcesz.
> Czy w Yaccu cokolwiek jest na talerzu? MSZ mocno wątpliwe. Dla mnie ta
> biblioteka jest brrrrr. W razie potrzeby parserów uzywam Antlr, jakies
> gramatyki na XML/XHML były (nigdy mnie nie kusiło ich użyć).
Sam napisalem chyba ze 2 proste parsery. Jeden kiedys w Turbo Pascalu.
Generował też pascalowy kod ;)
Po prostu pomyslalem, ze po co mam pisac to od nowa jak pewnie gdzies jest.
Moze ktos wie gdzie takie gramatyki znajdę?
>>> b) do jabbera jest multum narzedzi w każdym w zasadzie języku, co chcesz
>>> zrobic?
>>> Ciezko by bylo klasycznie sparsowac nieskonczony strumien XML :P
>> ?
>>
>> A możesz mi powiedzieć dlaczego?
> Wszystkie znane mi podejścia parserowe zakładają skończony strumień.
> Wtedy input da się ocenić wóz/przewóz, wtedy jest drzewo itd.
> Czy 'twój' ('twój' == nie mój) yacc umie na nieskończonym strumieniu,
> nie mam pojęcia.
Wywoływac yacca można hm.. jak to powiedzieć po kawałku. Nie trzeba mieć
całego strumienia. Właśnie to chcę uzyskać. Jak w leniwych językach
programowania. Robić to co teraz potrzebne.
>> Jest narzędzi trochę to prawda, ale nie wszystkie sa rozsadne. Co chce
>> zrobic? Napisac klienta jabbera, który by zamiast parserow xml uzywal po
>> prostu yacca.
>> Zauwaz jak latwo dodajemy nowa funkcjonalnosc. Mamy na talerzu wszystkie
>> te dziwaczne kawalki XML. Jest to dla mnie atrakcyjny sposob pisania.
> raz w zyciu Jabbero-podobny stumień rozbieralem ręcznym (ręcznym o tyle,
> że baze miałem od uznanej bilblioteki XML) kodem, ale to był tryb SAX.
> Dośc czytelne to wyglądało
Nie dyskutuje. Może faktycznie masz rację.
> Podstawowy zestaw tagów jabbera jest dośc płaski, do 2-3 poziomów, z tym
> że jak wchodzimy w rozszerzenia XMPP zaczynają się schody. Zbudowac
> stosik, te sprawy, wynajdywanie koła.
> I z nieskończonością strumienia jeszcze jeden problem. Wznawianie po
> błędzie. Zaden znany mi parser nie wznawia w pełnowartościowym trybie,
> zawsze jest to jakies tam tylko ratowanie. W naturalnych narzędziach XML
> jest to prostsze, poczynając od podstawowej zasady 'nie znam tagu to
> ignoruję'.
Po to potrzebna gramatyka. Czytam co trzeba reszte pomijam.
> Czyste i pewne zamknięcie 'drivera' yaccowego (np. celem powołania
> nowego i wznowienia) opartego na zmiennych globalnych, brrrrr.
A nie ma znaczenia czy yacc czy altr czy co tam jeszcze. Wazne by było
czytelne i szybkie. Nie musze uzywac yacca jesli akurat bedzie to czytelne.
Dziekuje za luźne mysli. Podobaja mi się.
Najnowsze wątki z tej grupy
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
- Młodzi programiści i tajna policja
- Ada 2022 Language Reference Manual to be Published by Springer
- Press Release - AEiC 2023, Ada-Europe Reliable Softw. Technol.
- Ada-Europe - AEiC 2023 early registration deadline approaching
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2023
- Ile cykli zajmuje mnożenie liczb 64-bitowych?
Najnowsze wątki
- 2024-05-26 O co chodzi?
- 2024-05-26 PJ autobus-tramwaj
- 2024-05-26 Renault Trafic i lampka z czerwonym STOP
- 2024-05-26 cena pięciocyfrowa
- 2024-05-26 Re: Jak dobra KE "okrada" złą Rosję "dla Ukrainy"
- 2024-05-25 supercap
- 2024-05-25 Sulzbach => Technischer Rollouter (d/m/w) <=
- 2024-05-25 Warszawa => Senior Account Manager <=
- 2024-05-25 Warszawa => Mid PHP Developer (Laravel) <=
- 2024-05-25 Warszawa => Mid PHP Developer (Laravel) <=
- 2024-05-25 Warszawa => Interactive/Experience Designer <=
- 2024-05-25 Warszawa => Key Account Manager <=
- 2024-05-25 Warszawa => SAP WM Consultant / Execution <=
- 2024-05-25 Warszawa => Key Account Manager <=
- 2024-05-25 Re: znów ten wrocław