🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.perl
Article #52439

SQL parser

#52439
From: hubert depesz lubaczewski
Date: Tue, 31 Jul 2012 12:26
37 lines
1960 bytes
Hej,
jakiś czas temu szukałem kogoś kto mnie nauczy parsowania
( https://groups.google.com/forum/#!topic/pl.comp.lang.perl/G9Wc7T4rV2c)

Zgłosił się Dozzie, za co mu dziękuję.

W oparciu o to czego mnie nauczył, piszę moduł do parsowania sql'i
(zapytań).

Od razu: nie, SQL::Parser nie jest akceptowalny, i jego modyfikacje nie
wchodzą w grę.

Mój parser, nie gotowy, i bardzo daleki od gotowości:
https://github.com/depesz/Pg-SQL-Parser

Na razie umie jedynie sparsować najprostsze zapytania typu:

select 1;
select 'a' as b;

Ja to sobie *powoli* rozwijam, ale jeśli ktoś z was ma czas by podesłać
poprawki/komentarze - byłbym wdzięczny.

Ogólnie - ten post ma służyć pokazaniu, że nad tym pracuję, może ktoś
się zainteresuje, a może ktoś przejrzy kod i powie mi co można zrobić
lepiej/efektywniej.

Wiem, że regexpy w lexerze można zapisać jako pojedynczy - i pewnie tak
zrobię, ale na razie chodzi mi o czytelność - bo jak będę zamieniał na
jeden, to na taki z Regexp::Optimizer - a on jest mało czytelny, za to
szybki.

depesz

-- 
The best thing about modern society is how easy it is to avoid contact with it.
                                                             http://depesz.com/
Technical Details
Message-ID: <9gvke9-9ag.ln1@depesz.com>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!not-for-mail

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!not-for-mail
From: hubert depesz lubaczewski <depesz@depesz.com>
Newsgroups: pl.comp.lang.perl
Subject: SQL parser
Date: Tue, 31 Jul 2012 14:26:17 +0200
Organization: depesz Software
Lines: 37
Message-ID: <9gvke9-9ag.ln1@depesz.com>
Reply-To: depesz@depesz.com
NNTP-Posting-Host: andy.depesz.com
Mime-Version: 1.0
X-Trace: inews.gazeta.pl 1343738136 24169 88.198.47.100 (31 Jul 2012 12:35:36 GMT)
X-Complaints-To: usenet@agora.pl
NNTP-Posting-Date: Tue, 31 Jul 2012 12:35:36 +0000 (UTC)
X-User: depesz_hdl
User-Agent: slrn/pre1.0.0-18 (Linux)
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit