-
Path: news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!news.glorb.com!
postnews.google.com!18g2000vbx.googlegroups.com!not-for-mail
From: Andrzej Jarzabek <a...@g...com>
Newsgroups: pl.comp.programming
Subject: Re: tcl - do czego to sie moze przydac?
Date: Fri, 20 Jan 2012 04:02:30 -0800 (PST)
Organization: http://groups.google.com
Lines: 77
Message-ID: <c...@1...googlegroups.com>
References: <jes1u9$jfu$1@inews.gazeta.pl>
<7...@a...googlegroups.com>
<jf3amr$47o$1@inews.gazeta.pl>
<3...@w...googlegroups.com>
<jf4fpk$rki$1@inews.gazeta.pl>
<5...@w...googlegroups.com>
<jf5m72$rn1$1@inews.gazeta.pl>
<c...@l...googlegroups.com>
<jf5v0e$j6e$1@inews.gazeta.pl>
<7...@4...com>
<3563330.3613.1326892576038.JavaMail.geo-discussion-forums@vby1>
<e...@c...googlegroups.com>
<9...@1...googlegroups.com>
<8...@t...googlegroups.com>
<jf9vsr$3hm$1@inews.gazeta.pl>
<a...@w...googlegroups.com>
NNTP-Posting-Host: 195.11.67.225
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-2
Content-Transfer-Encoding: quoted-printable
X-Trace: posting.google.com 1327061044 29277 127.0.0.1 (20 Jan 2012 12:04:04 GMT)
X-Complaints-To: g...@g...com
NNTP-Posting-Date: Fri, 20 Jan 2012 12:04:04 +0000 (UTC)
Complaints-To: g...@g...com
Injection-Info: 18g2000vbx.googlegroups.com; posting-host=195.11.67.225;
posting-account=jr5y-woAAAAWidgVjrSJ6j8m650CTb-v
User-Agent: G2/1.0
X-Google-Web-Client: true
X-Google-Header-Order: CUHARLSENK
X-HTTP-UserAgent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.7 (KHTML, like
Gecko) Chrome/16.0.912.75 Safari/535.7,gzip(gfe)
Xref: news-archive.icm.edu.pl pl.comp.programming:194821
[ ukryj nagłówki ]On Jan 20, 9:15 am, Maciej Sobczak <s...@g...com> wrote:
> On Jan 19, 9:53 pm, Andrzej Jarzabek <a...@g...com>
> wrote:
>
> > Zły kwantyfikator. Takiego przykładu, dla którego nie istnieje automat
> > oczywiście nie ma. Natomiast nie ma też automatu, który by działał dla
> > dowolnego przykładu.
>
> I, jak rozumiem, w Pythonie jest zupełnie inaczej?
Napisałem kilka razy, ale może za mało wyraźnie: nie wypowiadam się o
Pythonie.
> Jeśli chodzi o wykrycie źle dopasowanych nawiasów, co w Tclu jest
> upierdliwe ze względu na nawiasy w komentarzach, to nie ma z tym
> najmniejszego problemu.
Ale piszesz tu tylko o nawiaskach klamrowych, a co z [], z
cudzysłowami, i w ogóle co ze składnią wyrażeń.
> Nie da się natomiast wykryć problemów ze skryptem tworzonym w locie,
> ale to jest prawdą w każdym języku dynamicznym.
Nawet jak nie tworzysz skryptów w locie, to raczej ciężko wnioskować
który ze stringów nawet tych zdefiniowanych verbatim będzie używany
jako skrypt lub wyrażenie.
> > Tylko w najbardziej trywialnym sensie, tzn. możesz sprawdzić, że skrypt
> > się składa z n poleceń i każde polecenie ma poprawnie składniowo podane
> > parametry. Sprawdzenie poprawności tego, co w innym języku byłoby
> > blokami kodu jest niemożliwe, bo w tcl-u są to po prostu stringi i w
> > ogólnym przypadku nie które z nich powinny być poprawnymi skryptami w tcl.
>
> Można taką analizę spokojnie określić dla "oczywistych" przypadków:
> if, for, itd.
Niby można, ale należałoby w tym celu napisać własny walidator z
własnym parserem tcl-a, co nie jest może jakoś super skomplikowane,
ale też nie takie znowu trywialne.
> Resztą bym się nie przejmował, bo tu analiza 100% nie jest potrzebna
> (jeśli komuś jest potrzebna, to odsyłam do SPARKa).
Jest to tym mniej potrzebne, im mniej używasz konstrukcji typu
procedura dostaje kod w parametrze i go wykonuje. Tylko że tworzenie
takich konstrukcji miało być wielką zaletą tcl-a.
A w innych językach można mieć takie możliwości dzięki closures, które
są dla odmiany normalnym kodem i normalnie mogą być sprawdzone pod
kątem składni przed wykonaniem skryptu.
> > Chodziło mi o sprawdzenie, czy odwołania do symboli odwołują się do
> > symboli rzeczywiście zdefiniowanych, np. nazw procedur czy zmiennych.
>
> I w Pythonie też nie da się tego zrobić, wystarczy podzielić program
> na pliki i po ptokach - w Pythonie nie ma fazy linkowania, więc nie ma
> mechanizmu, który by zapewnił spójność całości[*].
> Ponownie - jeśli komuś taka analiza jest potrzebna, to polecam języki
> statyczne. One do tego zostały stworzone.
Nie wypowiadam się o Pythonie. Natomiast w wielu językach dynamicznych
przynajmniej częściowo jest to do zrobienia - np.w Groovym.
Następne wpisy z tego wątku
- 20.01.12 12:32 Andrzej Jarzabek
- 20.01.12 13:31 Roman W
- 20.01.12 13:35 Stachu 'Dozzie' K.
- 20.01.12 13:30 Roman W
- 20.01.12 14:11 A.L.
- 20.01.12 14:35 Andrzej Jarzabek
- 20.01.12 15:50 Roman W
- 20.01.12 15:49 Roman W
- 20.01.12 15:57 Andrzej Jarzabek
- 20.01.12 18:35 Andrzej Jarzabek
Najnowsze wątki z tej grupy
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- 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
Najnowsze wątki
- 2024-12-20 Precedensy politycznie motywowanego nie wydawania w UE
- 2024-12-20 Obrońcy
- 2024-12-20 Obrońcy
- 2024-12-20 Obrońcy
- 2024-12-20 Gdańsk => Inżynier bezpieczeństwa aplikacji <=
- 2024-12-20 czyste powietrze
- 2024-12-20 Katowice => Analyst in the Trade Development department (experience wi
- 2024-12-20 Opole => Inżynier Serwisu Sprzętu Medycznego <=
- 2024-12-20 Katowice => Regionalny Kierownik Sprzedaży (OZE) <=
- 2024-12-20 Rzeszów => International Freight Forwarder <=
- 2024-12-20 Katowice => Key Account Manager (ERP) <=
- 2024-12-20 Ekstradycja
- 2024-12-20 Mikroskop 3D
- 2024-12-20 Warszawa => Spedytor Międzynarodowy <=
- 2024-12-20 Warszawa => Analityk w dziale Trade Development (doświadczenie z Powe