-
1. Data: 2010-02-18 23:26:53
Temat: Ksiazka/tutorial do lekserow
Od: Marcin Kwiatkowski <f...@l...bielsko.pl>
Witam,
Czy mozecie mi polecic jakas pozycje dosc doglebnie traktujaca o
lekserach (konkretnie interesuja mnie flex i yacc, ich odmiany typu
bison)? Z dokumentacja dostepna na sieci sie zapoznalem i jakies tam
pojecie mam, kilka prostych rzeczy udalo mi sie zrealizowac, jednak
musze zaimplementowac jezyk skryptowy w mojej aplikacji no i tutaj
problem. Interesuja mnie zarowno pozycje on-line jak i ksiazkowe (byle w
miare dostepne) - jezyk angielski lub polski. Aha. Najelepiej jak by to
bylo w formie opis/jakis tutorial + najbardziej mi zalezy na reference
manual (takie kompendium).
--
Pozdrawiam,
Marcin Kwiatkowski
-
2. Data: 2010-02-19 08:30:56
Temat: Re: Ksiazka/tutorial do lekserow
Od: Krzysiek Kowaliczek <k...@g...com>
Użytkownik Marcin Kwiatkowski napisał:
> Czy mozecie mi polecic jakas pozycje dosc doglebnie traktujaca o
> lekserach (konkretnie interesuja mnie flex i yacc, ich odmiany typu
yacc to generator parserów, flex to generator lekserów.
Jest tego wiadrami. Całkiem niezłe jest wprowadzenie
ze stron projektów:
http://www.gnu.org/software/bison/manual/html_node/i
ndex.html
http://flex.sourceforge.net/manual/
Polecam książkę:
http://www.diku.dk/hjemmesider/ansatte/torbenm/Basic
s/basics_lulu.pdf
Jeżeli nie zależy Ci na generatorach typu LR zobacz ANTLR.
W odróżnieniu od yacc, jest to generator typu LL, co dla
wielu programistów jest bardziej naturalnym podejściem tworzenia
parserów:
http://antlr.org/
> bison)? Z dokumentacja dostepna na sieci sie zapoznalem i jakies tam
> pojecie mam, kilka prostych rzeczy udalo mi sie zrealizowac, jednak
> musze zaimplementowac jezyk skryptowy w mojej aplikacji no i tutaj
Tylko po co? Napisanie leksera i parsera to *najprostsza* cześć.
Czemu nie użyć istniejących języków jak Lua, TCL, Python.
Pozdrawiam
KK
-
3. Data: 2010-02-19 13:11:33
Temat: Re: Ksiazka/tutorial do lekserow
Od: Marcin Kwiatkowski <f...@l...bielsko.pl>
On 2010-02-19, Krzysiek Kowaliczek <k...@g...com> wrote:
> Użytkownik Marcin Kwiatkowski napisał:
>> Czy mozecie mi polecic jakas pozycje dosc doglebnie traktujaca o
>> lekserach (konkretnie interesuja mnie flex i yacc, ich odmiany typu
>
> yacc to generator parserów, flex to generator lekserów.
> Jest tego wiadrami. Całkiem niezłe jest wprowadzenie
> ze stron projektów:
> http://www.gnu.org/software/bison/manual/html_node/i
ndex.html
> http://flex.sourceforge.net/manual/
>
> Polecam książkę:
> http://www.diku.dk/hjemmesider/ansatte/torbenm/Basic
s/basics_lulu.pdf
Dzieki, zapoznam sie. W firmowej bibliotece trafilem tez na ta pozycje:
http://helion.pl/ksiazki/zaprli.htm gdzie jest rozdzial traktujacy o
tym.
>
> Jeżeli nie zależy Ci na generatorach typu LR zobacz ANTLR.
> W odróżnieniu od yacc, jest to generator typu LL, co dla
> wielu programistów jest bardziej naturalnym podejściem tworzenia
> parserów:
> http://antlr.org/
A nie pomyslalem. Dzieki za wskazowki - musze sie zapoznac.
>
>> bison)? Z dokumentacja dostepna na sieci sie zapoznalem i jakies tam
>> pojecie mam, kilka prostych rzeczy udalo mi sie zrealizowac, jednak
>> musze zaimplementowac jezyk skryptowy w mojej aplikacji no i tutaj
>
> Tylko po co? Napisanie leksera i parsera to *najprostsza* cześć.
> Czemu nie użyć istniejących języków jak Lua, TCL, Python.
Gdyby to byla aplikacja pisana od poczatku, gdzie moge narzucic pewne
wymagania to uzyl bym wlasnie Lua. Niestety. W projekcie gramatyka i
skladnia jezyka zostaly precyzyjnie okreslone, poza tym pracuje w
zespole i moge najwyzej sugerowac kolegom pewne rozwiazania a nie
narzucac.
>
> Pozdrawiam
> KK
--
Pozdrawiam,
Marcin Kwiatkowski
-
4. Data: 2010-02-19 13:49:15
Temat: Re: Ksiazka/tutorial do lekserow
Od: Jacek Czerwinski <...@...z.pl>
Marcin Kwiatkowski pisze:
> On 2010-02-19, Krzysiek Kowaliczek <k...@g...com> wrote:
>> U?ytkownik Marcin Kwiatkowski napisa?:
>>> bison)? Z dokumentacja dostepna na sieci sie zapoznalem i jakies tam
>>> pojecie mam, kilka prostych rzeczy udalo mi sie zrealizowac, jednak
>>> musze zaimplementowac jezyk skryptowy w mojej aplikacji no i tutaj
>> Tylko po co? Napisanie leksera i parsera to *najprostsza* cze?ae.
>> Czemu nie u?yae istniej?cych jezyków jak Lua, TCL, Python.
>
> Gdyby to byla aplikacja pisana od poczatku, gdzie moge narzucic pewne
> wymagania to uzyl bym wlasnie Lua. Niestety. W projekcie gramatyka i
> skladnia jezyka zostaly precyzyjnie okreslone, poza tym pracuje w
> zespole i moge najwyzej sugerowac kolegom pewne rozwiazania a nie
> narzucac.
Bison daje MZ zupelnie niedebugowalne rozwiazanie, nieczytelne wzrokowo,
nigdy w pelni w niego nie wdepnalem.
Z Antlr za to schodzi zupelnie czytelny kod (przynajmniej Parsera
Walkera - lexer jest bardziej specyficzny). Powiedziałbym, jakby dobry
zespol studentów na dobrych zajeciach z translatorów go pisal recznie ;)
Dydaktycznie rzecz biorac krzywdy nie zrobi.
W nim implementację (semantykę) prawdopodbnie mozesz nalozyc, jak nie
chodzi o straszną szybkosc, w TreeWalker, dosc dobre miejsce dla malo
wymagających semantyk. Chyba że szybkosc, ale to przekracza zakres tego
posta.
Ale rzeczywiscie, gramatyka i parser, to naprawdę duzo mniej niz 50%.
Doswiadczenia nad Antlr zdobyte w C++ sa przenosne na Jave / pythona i
jeszcze inne. Sam kod, niestety nie, a próbowalem. Z kolei inne stricte
javowskie sa nieprzenosne na C++.
Duzo projektow powiazanych jest z Antlr, warto go polecic. Fakt, odnoga
javowska przoduje, C++ troche z tyłu.
-
5. Data: 2010-02-19 14:43:42
Temat: Re: Ksiazka/tutorial do lekserow
Od: Marcin Kwiatkowski <f...@l...bielsko.pl>
On 2010-02-19, Jacek Czerwinski <...@...z.pl> wrote:
> Marcin Kwiatkowski pisze:
>> On 2010-02-19, Krzysiek Kowaliczek <k...@g...com> wrote:
>>> Użytkownik Marcin Kwiatkowski napisał:
>
>>>> bison)? Z dokumentacja dostepna na sieci sie zapoznalem i jakies tam
>>>> pojecie mam, kilka prostych rzeczy udalo mi sie zrealizowac, jednak
>>>> musze zaimplementowac jezyk skryptowy w mojej aplikacji no i tutaj
>>> Tylko po co? Napisanie leksera i parsera to *najprostsza* cześć.
>>> Czemu nie użyć istniejących języków jak Lua, TCL, Python.
>>
>> Gdyby to byla aplikacja pisana od poczatku, gdzie moge narzucic pewne
>> wymagania to uzyl bym wlasnie Lua. Niestety. W projekcie gramatyka i
>> skladnia jezyka zostaly precyzyjnie okreslone, poza tym pracuje w
>> zespole i moge najwyzej sugerowac kolegom pewne rozwiazania a nie
>> narzucac.
>
> Bison daje MZ zupelnie niedebugowalne rozwiazanie, nieczytelne wzrokowo,
> nigdy w pelni w niego nie wdepnalem.
> Z Antlr za to schodzi zupelnie czytelny kod (przynajmniej Parsera
> Walkera - lexer jest bardziej specyficzny). Powiedzia?bym, jakby dobry
> zespol studentów na dobrych zajeciach z translatorów go pisal recznie ;)
> Dydaktycznie rzecz biorac krzywdy nie zrobi.
>
> W nim implementacj? (semantyk?) prawdopodbnie mozesz nalozyc, jak nie
> chodzi o straszn? szybkosc, w TreeWalker, dosc dobre miejsce dla malo
> wymagaj?cych semantyk. Chyba ?e szybkosc, ale to przekracza zakres tego
> posta.
>
> Ale rzeczywiscie, gramatyka i parser, to naprawd? duzo mniej niz 50%.
>
> Doswiadczenia nad Antlr zdobyte w C++ sa przenosne na Jave / pythona i
> jeszcze inne. Sam kod, niestety nie, a próbowalem. Z kolei inne stricte
> javowskie sa nieprzenosne na C++.
>
> Duzo projektow powiazanych jest z Antlr, warto go polecic. Fakt, odnoga
> javowska przoduje, C++ troche z ty?u.
No wlasnie zapoznalem sie z roznymi mozliwosciami i Antlr przypadl mi
najbardziej do gustu. Szybkosc tu nie ma znaczenia, bo skrytpy parsowane
sa przy starcie aplikacji. A ze Java przoduje... Coz - projekt jest w
C++, Jave tez znam akurat wiec to nie problem :) Na poczatek bardzo
spodobaly mi sie dosteone narzedzia (plugin do Eclipse, ANTLRWorks) - na
poczatek to niesamowicie ulatwia prace :)
--
Pozdrawiam,
Marcin Kwiatkowski
-
6. Data: 2010-02-19 17:25:38
Temat: gramatyka bylo Re: Ksiazka/tutorial do lekserow
Od: "Lucjan J.A. Tumim" <L...@a...fm.pl>
To ja sie podepne pod watek i zapytam. Ma ktos jakas gotowa gramatyke XML i
ew. jakiegos kawalka jabber-a?
-
7. Data: 2010-02-19 17:36:45
Temat: Re: gramatyka bylo Re: Ksiazka/tutorial do lekserow
Od: Jacek Czerwinski <...@...z.pl>
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ą?
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
-
8. Data: 2010-02-20 00:08:46
Temat: Re: gramatyka bylo Re: Ksiazka/tutorial do lekserow
Od: Marcin Kwiatkowski <f...@l...bielsko.pl>
On 2010-02-19, Lucjan J.A. Tumim <L...@a...fm.pl> wrote:
> To ja sie podepne pod watek i zapytam. Ma ktos jakas gotowa gramatyke XML i
> ew. jakiegos kawalka jabber-a?
Polecam biblioteke Gloox (http://camaya.net/gloox/). IMHO jedna z
najbardziej rozwinietych bibliotek do obslugi XMPP. Dokumentacja bardzo
dobra. Zreszta osobiscie uzywam tej biblioteki w jednym z projektow (w
polaczeniu z Qt)
--
Pozdrawiam,
Marcin Kwiatkowski
-
9. Data: 2010-02-20 17:39:07
Temat: Re: Ksiazka/tutorial do lekserow
Od: Adam Przybyla <a...@r...pl>
Marcin Kwiatkowski <f...@l...bielsko.pl> wrote:
>
> Witam,
>
> Czy mozecie mi polecic jakas pozycje dosc doglebnie traktujaca o
> lekserach (konkretnie interesuja mnie flex i yacc, ich odmiany typu
> bison)? Z dokumentacja dostepna na sieci sie zapoznalem i jakies tam
> pojecie mam, kilka prostych rzeczy udalo mi sie zrealizowac, jednak
> musze zaimplementowac jezyk skryptowy w mojej aplikacji no i tutaj
> problem. Interesuja mnie zarowno pozycje on-line jak i ksiazkowe (byle w
> miare dostepne) - jezyk angielski lub polski. Aha. Najelepiej jak by to
> bylo w formie opis/jakis tutorial + najbardziej mi zalezy na reference
> manual (takie kompendium).
... na mojej poleczce mam cos takiego:
Unix: Narzędzia programistyczne yacc i lex - Michal Gawrys,
male ale bardzo przejrzyste. Z powazaniem
Adam Przybyla
-
10. Data: 2010-02-22 07:41:29
Temat: Re: gramatyka bylo Re: Ksiazka/tutorial do lekserow
Od: "Lucjan J.A. Tumim" <L...@a...fm.pl>
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.
> 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?
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.