eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programming[?] tcl - do czego to sie moze przydac?Re: tcl - do czego to sie moze przydac?
  • 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.

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: