🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.tcl
Article #320

Wykrywanie zakresu zmiennej

#320
From: 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
Technical Details
Message-ID: <drnlcu$itr$1@srv.cyf-kr.edu.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!feed.news.interia.pl!news.cyf-kr.edu.pl!not-for-mail

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!feed.news.interia.pl!news.cyf-kr.edu.pl!not-for-mail
From: Googie <no@spam.org>
Newsgroups: pl.comp.lang.tcl
Subject: Wykrywanie zakresu zmiennej
Date: Tue, 31 Jan 2006 13:41:51 +0100
Organization: Academic Computer Center CYFRONET AGH
Lines: 50
Message-ID: <drnlcu$itr$1@srv.cyf-kr.edu.pl>
NNTP-Posting-Host: ip-7-197.ists.pl
Mime-Version: 1.0
X-Trace: srv.cyf-kr.edu.pl 1138710750 19387 193.25.7.197 (31 Jan 2006 12:32:30 GMT)
X-Complaints-To: news@cyf-kr.edu.pl
NNTP-Posting-Date: Tue, 31 Jan 2006 12:32:30 +0000 (UTC)
User-Agent: Thunderbird 1.5 (Windows/20051201)
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit