-
Data: 2012-01-20 09:15:33
Temat: Re: tcl - do czego to sie moze przydac?
Od: Maciej Sobczak <s...@g...com> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]On Jan 19, 9:53 pm, Andrzej Jarzabek <a...@g...com>
wrote:
> > Mógłbyś podać przykład, którego nie da się wykryć automatem?
>
> 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?
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.
Nie da się natomiast wykryć problemów ze skryptem tworzonym w locie,
ale to jest prawdą w każdym języku dynamicznym.
> > Poprawność składniową można zawsze sprawdzić a w Tclu chyba
> > najłatwiej, bo ma bardzo prostą gramatykę. Dużo prostszą, niż Python.
>
> 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.
Resztą bym się nie przejmował, bo tu analiza 100% nie jest potrzebna
(jeśli komuś jest potrzebna, to odsyłam do SPARKa).
> 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.
[*] Ale w Javie też nie ma a to ponoć język statyczny...
--
Maciej Sobczak * http://www.msobczak.com * http://www.inspirel.com
Następne wpisy z tego wątku
- 20.01.12 09:52 Stachu 'Dozzie' K.
- 20.01.12 12:02 Andrzej Jarzabek
- 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
- Alg. kompresji LZW
- Popr. 14. Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- Arch. Prog. Nieuprzywilejowanych w pełnej wer. na nowej s. WWW energokod.pl
- 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??
Najnowsze wątki
- 2025-02-17 Kraków => MS Dynamics 365BC/NAV Developer <=
- 2025-02-17 Chrzanów => Programista NodeJS <=
- 2025-02-17 Warszawa => Node.js / Fullstack Developer <=
- 2025-02-17 Białystok => System Architect (Java background) <=
- 2025-02-17 Białystok => Solution Architect (Java background) <=
- 2025-02-17 Gliwice => Team Lead / Tribe Lead FrontEnd <=
- 2025-02-17 Gdańsk => PHP Developer <=
- 2025-02-17 Warszawa => Senior ASP.NET Developer <=
- 2025-02-17 Gliwice => Business Development Manager - Network and Network Security
- 2025-02-17 Mińsk Mazowiecki => Area Sales Manager OZE <=
- 2025-02-17 Odśnieżanie samochodu
- 2025-02-17 Katowice => Regionalny Kierownik Sprzedaży (OZE) <=
- 2025-02-17 Dęblin => JavaScript / Node / Fullstack Developer <=
- 2025-02-17 Pompiarze...
- 2025-02-16 PV teraz