eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programming[?] tcl - do czego to sie moze przydac?Re: tcl - do czego to sie moze przydac?
  • Data: 2012-01-20 12:02:30
    Temat: Re: tcl - do czego to sie moze przydac?
    Od: Andrzej Jarzabek <a...@g...com> szukaj wiadomości tego autora
    [ pokaż wszystkie 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: