-
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
- We Wrocławiu ruszyła Odra 5, pierwszy w Polsce komputer kwantowy z nadprzewodzącymi kubitami
- Ada-Europe - AEiC 2025 early registration deadline imminent
- John Carmack twierdzi, że gdyby gry były optymalizowane, to wystarczyły by stare kompy
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2025
- Linuks od wer. 6.15 przestanie wspierać procesory 486 i będzie wymagać min. Pentium
- ,,Polski przemysł jest w stanie agonalnym" - podkreślił dobitnie, wskazując na brak zamówień.
- Rewolucja w debugowaniu!!! SI analizuje zrzuty pamięci systemu M$ Windows!!!
- Brednie w wiki - hasło Dehomag
- Perfidne ataki krakerów z KRLD na skrypciarzy JS i Pajton
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- U nas propagują modę na SI, a w Chinach naukowcy SI po kolei umierają w wieku 40-50lat
- C++. Podróż Po Języku - komentarz
- "Wuj dobra rada" z KDAB rozważa: Choosing the Right Programming Language for Your Embedded Linux Device
Najnowsze wątki
- 2025-06-08 Nowy 17. Raport Totaliztyczny - Patroni Kontra Bankierzy
- 2025-06-07 Mouser - koszt wysyłki
- 2025-06-07 Co robić, jak robić, aby dużo zarobić, a się nie narobić ?
- 2025-06-07 Co robić, jak robić, aby dużo zarobić, a się nie narobić ?
- 2025-06-07 Co robić, jak robić, aby dużo zarobić, a się nie narobić ?
- 2025-06-07 Warszawa => Software .Net Developer <=
- 2025-06-07 Warszawa => Junior SQL / FrontEnd developer <=
- 2025-06-07 Warszawa => Team Lead Data Engineer (Snowflake) <=
- 2025-06-07 Kraków => Kotlin Developer <=
- 2025-06-07 Warszawa => Senior Key Account Manager IT <=
- 2025-06-07 Gdańsk => PHP Developer <=
- 2025-06-07 Warszawa => Specjalista ds. Sprzedaży <=
- 2025-06-07 Łódź => Mainframe (z/OS, Assembler) Developer <=
- 2025-06-07 Warszawa => Sales Assistant and Customer Development Specialist <=
- 2025-06-07 Warszawa => Programista Full Stack .Net <=