Thread View: pl.comp.lang.tcl
1 messages
1 total messages
Started by Googie
Tue, 31 Jan 2006 12:41
Wykrywanie zakresu zmiennej
Author: Googie
Date: Tue, 31 Jan 2006 12:41
Date: Tue, 31 Jan 2006 12:41
50 lines
1870 bytes
1870 bytes
Witam,
Szukam najlepszego sposobu na wykrywanie zakresu zmiennej, bez względu
na to, czy jest ona zmienną lokalną w procedurze, czy globalną, czy też
linkowaną przez [upvar].
Przez "znalezienie zakresu" rozumiem taką wartość (np. zwracaną przez
procedurę szukającą zakresu), która jest listą zawierającą indeksy:
linii i znaku w linii, w której występuje odpytywana zmienna.
Nie jest to takie oczywiste, bo nie chodzi mi o wykrywanie zmiennych w
lokalnym skrypcie (bo to jest akurat proste), tylko o parsowanie
jakiegoś skryptu Tcl, który jest w dowolnym zewnętrznym pliku, czyli
przeczytać plik przez [read] lub [gets] i nie uruchamiając tego skryptu
sprawdzić zasięg zmiennych.
Chciałbym, przykładowo taką procedurę:
### <CODE>
proc detect {line char name} {
# body
}
### </CODE>
Przykładowy skrypt do sprawdzenia:
### <CODE>
proc test {aaa} {
set aaa 30
puts $aaa
}
### </CODE>
Ja wywołuję:
### <CODE>
detect 2 10 "aaa"
### </CODE>
A dostaję:
### <CODE>
{0 11} {1 8} {2 10}
### </CODE>
Ma ktoś jakieś pomysły? :)
--
Pozdrawiam!
Googie
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads