🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.lang.tcl
1 messages
1 total messages Started by Googie Tue, 31 Jan 2006 12:41
Wykrywanie zakresu zmiennej
#320
Author: Googie
Date: Tue, 31 Jan 2006 12:41
50 lines
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