- 
 1. Data: 2010-09-01 21:37:13
 Temat: Resolve'ing identyfikatorów
 Od: "Wojciech \"Spook\" Sura" <spook"mad@hatter"op.pl>
 Witam! 
 
 Projektuję interpreter wyrażeń matematycznych. Chcę zrealizować go
 kilkuetapowo - najpierw wyrażenie będzie tłumaczone do drzewa
 składniowego, potem do drzewa wyrażenia, a na końcu drzewo wyrażenia
 rekurencyjnie będzie obliczane.
 
 Etap konwersji drzewa składniowego (zawierającego - z grubsza - głównie
 tokeny) chcę zrealizować rekurencyjnie: każdy węzeł drzewa wygeneruje
 odpowiednie poddrzewo wyrażenia, dokonując w razie potrzeb odpowiednich
 przekształceń czy dodatkowych operacji.
 
 Jeśli powyższy opis nie jest dostatecznie czytelny, proponuję zerknąć do
 przykładu:
 
 www.spook.freshsite.pl/Temporary/Interpreter.png
 
 Moje pytanie brzmi: na którym etapie przetwarzania powinno dojść do
 stwierdzenia czy dany identyfikator (np. x) jest zmienną, parametrem
 dodawanej funkcji lub czymś jeszcze innym?
 
 Pozdrawiam -- Spook.
 
 --
 ! ._______. Warning: Lucida Console sig! //) !
 ! || spk || www.spook.freshsite.pl / _ """*!
 ! ||_____|| spook at op.pl / ' | ""!
 ! | ___ | tlen: spoko_ws gg:1290136 /. __/"\ '!
 ! |_|[]_|_| May the SOURCE be with you! \/) \ !
 
- 
 2. Data: 2010-09-02 04:57:01
 Temat: Re: Resolve'ing identyfikatorów
 Od: Jacek Czerwinski <...@...z.pl>
 W dniu 2010-09-01 23:37, Wojciech "Spook" Sura pisze: 
 
 >
 > Moje pytanie brzmi: na którym etapie przetwarzania powinno dojść do
 > stwierdzenia czy dany identyfikator (np. x) jest zmienną, parametrem
 > dodawanej funkcji lub czymś jeszcze innym?
 
 Pobiezna mysl jeszcze nie obudzonego mozgu: w jezyku z dynamicznymi
 deklaracjami nie dysponujesz taka wiedza na etapie analizy
 syntaktycznej, zostaje tylko wykonanie. W jezyku z obowiazkowymi
 deklaracjami mozna (chyba) na etapie parsowania.
 Chociaz temat zachodzi na semantyke, np zmienne z zewnetrznego zakresu
 nie sa do tak latwego ustalenia czysto syntaktycznym parserem. W
 "prawdziwych" jezykach ktore to posiadaja, to jest wcale niebanalny
 runtime (ramki, pierdoly itd).
 
 
 
 
- 
 3. Data: 2010-09-02 05:27:27
 Temat: Re: Resolve'ing identyfikatorów
 Od: Jacek Czerwinski <...@...z.pl>
 W dniu 2010-09-02 06:57, Jacek Czerwinski pisze: 
 > W dniu 2010-09-01 23:37, Wojciech "Spook" Sura pisze:
 >
 >>
 >> Moje pytanie brzmi: na którym etapie przetwarzania powinno dojść do
 >> stwierdzenia czy dany identyfikator (np. x) jest zmienną, parametrem
 >> dodawanej funkcji lub czymś jeszcze innym?
 >
 > np zmienne z zewnetrznego zakresu
 > nie sa do tak latwego ustalenia czysto syntaktycznym parserem. W
 > "prawdziwych" jezykach ktore to posiadaja, to jest wcale niebanalny
 > runtime (ramki, pierdoly itd).
 >
 
 Stwierdzenia czy pobrania wartosci. Z ramkami itd to problem pobrania a
 stwierdzone musi byc wczesniej.
 
 W sumie "stwierdzenie czy pobranie wartosci" to wazne pytanie, chodzi Ci
 o akademicka poprawnosc (X jest argumentem z poziomu o jeden wyzej), czy
 po prostu liczbe? W stosowym interpreterze to na runtime proste cofanie
 sie po stosie i masz.
 
 
- 
 4. Data: 2010-09-02 07:22:21
 Temat: Re: Resolve'ing identyfikatorów
 Od: Krzysiek Kowaliczek <k...@g...com>
 Użytkownik Wojciech "Spook" Sura napisał: 
 > Moje pytanie brzmi: na którym etapie przetwarzania powinno dojść do
 > stwierdzenia czy dany identyfikator (np. x) jest zmienną, parametrem
 > dodawanej funkcji lub czymś jeszcze innym?
 
 Na następnym etapie po parsowaniu zwanym analizą semantyczną.
 Zobacz na moje przykłady z Lemon++, jest tam prosty kompilator
 i interpreter ( examples/taste ).
 http://sourceforge.net/projects/lemonxx/
 
 Pozdrawiam
 KK
 
- 
 5. Data: 2010-09-02 10:00:42
 Temat: Re: Resolve'ing identyfikatorów
 Od: Mateusz Ludwin <n...@s...org>
 Jacek Czerwinski wrote: 
 
 > Pobiezna mysl jeszcze nie obudzonego mozgu: w jezyku z dynamicznymi
 > deklaracjami nie dysponujesz taka wiedza na etapie analizy
 > syntaktycznej, zostaje tylko wykonanie. W jezyku z obowiazkowymi
 > deklaracjami mozna (chyba) na etapie parsowania.
 
 Moim zdaniem jak najbardziej da się to zrobić na etapie analizy drzewa, przecież
 interpreter musi przetrzymywać tablicę symboli dokładnie w taki sposób, w jaki
 robi to kompilator.
 
 Na etapie tworzenia AST, napotykając := patrzymy na lewo i po przetworzeniu
 deklaracji funkcji f dodajemy ją do tablicy symboli, jednocześnie zapamiętując,
 że x i y to nazwy atrybutów funkcji f. Potem przetwarzamy prawą stronę i
 jednoznacznie możemy stwierdzić czym jest każda nazwa. Po wyjściu z :=
 zostawiamy w tablicy symboli deklarację f, wyrzucając niepotrzebne x i y.
 --
 Mateusz Ludwin mateuszl [at] gmail [dot] com
 
- 
 6. Data: 2010-09-02 12:21:49
 Temat: Re: Resolve'ing identyfikatorów
 Od: Krzysiek Kowaliczek <k...@g...com>
 Użytkownik Mateusz Ludwin napisał: 
 > Moim zdaniem jak najbardziej da się to zrobić na etapie analizy drzewa,
 > przecież interpreter musi przetrzymywać tablicę symboli dokładnie w taki
 > sposób, w jaki robi to kompilator.
 
 Tak. Dla języków dynamicznych da się statycznie sprawdzić czy
 identyfikator występuje w danym zakresie. Nie da się zawsze
 statycznie ustalić typ. Uwaga interpretacja i kompilacja nie ma tu nic
 do rzeczy. Tak jak język dynamiczny może być kompilowany,
 tak język ze statycznym systemem typów może być interpretowany.
 
 Pozdrawiam
 KK
 
- 
 7. Data: 2010-09-02 13:51:10
 Temat: Re: Resolve'ing identyfikatorów
 Od: Mateusz Ludwin <n...@s...org>
 Krzysiek Kowaliczek wrote: 
 
 > Tak. Dla języków dynamicznych da się statycznie sprawdzić czy
 > identyfikator występuje w danym zakresie. Nie da się zawsze
 > statycznie ustalić typ. Uwaga interpretacja i kompilacja nie ma tu nic
 > do rzeczy. Tak jak język dynamiczny może być kompilowany,
 > tak język ze statycznym systemem typów może być interpretowany.
 
 Różnica jest taka, że między kolejnymi wywołaniami interpretera trzeba
 przechowywać definicje funkcji i zmiennych z poprzednich wywołań. Przy
 kompilacji drzewko jest tylko jedno.
 --
 Mateusz Ludwin mateuszl [at] gmail [dot] com
 
- 
 8. Data: 2010-09-02 19:44:38
 Temat: Re: Resolve'ing identyfikatorów
 Od: Krzysiek Kowaliczek <k...@g...com>
 Użytkownik Mateusz Ludwin napisał: 
 > Różnica jest taka, że między kolejnymi wywołaniami interpretera trzeba
 > przechowywać definicje funkcji i zmiennych z poprzednich wywołań. Przy
 > kompilacji drzewko jest tylko jedno.
 
 Nie rozumiem jak to się ma do analizy semantycznej, która dla języków
 ze statycznym systemem typów zarówno dla kompilatora i interpretera
 wygląda tak samo.
 
 Pozdrawiam
 KK
 
- 
 9. Data: 2010-09-03 09:07:27
 Temat: Re: Resolve'ing identyfikatorów
 Od: Mateusz Ludwin <n...@s...org>
 Krzysiek Kowaliczek wrote: 
 
 > Nie rozumiem jak to się ma do analizy semantycznej, która dla języków
 > ze statycznym systemem typów zarówno dla kompilatora i interpretera
 > wygląda tak samo.
 
 Oczywiście że analiza semantyczna wygląda tak samo, odniosłem się do "Uwaga
 interpretacja i kompilacja nie ma tu nic do rzeczy."
 
 Będzie trochę więcej drzewek.
 --
 Mateusz Ludwin mateuszl [at] gmail [dot] com
 
- 
 10. Data: 2010-09-04 08:52:49
 Temat: Re: Resolve'ing identyfikatorów
 Od: "Wiktor S." <wswiktor&poczta,fm@no.spam>
 > Resolve'ing 
 
 interesujący (po)tworek...
 
 
 --
 Azarien
 
 


 do góry
 do góry![Ranking kont firmowych - w jakim banku założysz najlepsze konto firmowe w 2025 r. [© DigitalMarketingAgency - pixabay.com] Ranking kont firmowych - w jakim banku założysz najlepsze konto firmowe w 2025 r.](https://s3.egospodarka.pl/grafika2/konto-firmowe/Ranking-kont-firmowych-w-jakim-banku-zalozysz-najlepsze-konto-firmowe-w-2025-r-266886-150x100crop.jpg) 
![Porównanie i ocena wyników mailingu - czy tylko wskaźniki są ważne? [© lichtmeister - fotolia.com] Porównanie i ocena wyników mailingu - czy tylko wskaźniki są ważne?](https://s3.egospodarka.pl/grafika2/mailing/Porownanie-i-ocena-wynikow-mailingu-czy-tylko-wskazniki-sa-wazne-220933-150x100crop.jpg) 
![Najtańsze pożyczki pozabankowe - ranking [© Daniel Krasoń - Fotolia.com] Najtańsze pożyczki pozabankowe - ranking](https://s3.egospodarka.pl/grafika2/pozyczki-pozabankowe/Najtansze-pozyczki-pozabankowe-ranking-212702-150x100crop.jpg) 
![Podatek od wynajmu mieszkania 2023 - jakie stawki i formy opodatkowania? [© Africa Studio - Fotolia.com] Podatek od wynajmu mieszkania 2023 - jakie stawki i formy opodatkowania?](https://s3.egospodarka.pl/grafika2/wynajem-mieszkania/Podatek-od-wynajmu-mieszkania-2023-jakie-stawki-i-formy-opodatkowania-249032-150x100crop.jpg) 
 Elektromobilność dojrzewa. Auta elektryczne kupujemy z rozsądku, nie dla idei
Elektromobilność dojrzewa. Auta elektryczne kupujemy z rozsądku, nie dla idei 
 
 
![Wynajem mieszkania w Warszawie pochłania 44% pensji. Zobacz, jak wypadamy na tle Europy [© pixabay] Wynajem mieszkania w Warszawie pochłania 44% pensji. Zobacz, jak wypadamy na tle Europy](https://s3.egospodarka.pl/grafika2/rynek-najmu/Wynajem-mieszkania-w-Warszawie-pochlania-44-pensji-Zobacz-jak-wypadamy-na-tle-Europy-269391-150x100crop.jpg) 
![Lot z niespodzianką - jak overbooking zmienia podróż i jakie prawa mają pasażerowie? [© wygenerowane przez AI] Lot z niespodzianką - jak overbooking zmienia podróż i jakie prawa mają pasażerowie?](https://s3.egospodarka.pl/grafika2/prawa-pasazera/Lot-z-niespodzianka-jak-overbooking-zmienia-podroz-i-jakie-prawa-maja-pasazerowie-269384-150x100crop.jpg) 
![Lider z sercem: empatia i zaufanie jako klucz do sukcesu zespołu [© wygenerowane przez AI] Lider z sercem: empatia i zaufanie jako klucz do sukcesu zespołu](https://s3.egospodarka.pl/grafika2/lider/Lider-z-sercem-empatia-i-zaufanie-jako-klucz-do-sukcesu-zespolu-269133-150x100crop.png) 
![Bańka AI za 5 bilionów dolarów: Kiedy inwestorzy powiedzą: sprawdzam? [© wygenerowane przez AI] Bańka AI za 5 bilionów dolarów: Kiedy inwestorzy powiedzą: sprawdzam?](https://s3.egospodarka.pl/grafika2/AI/Banka-AI-za-5-bilionow-dolarow-Kiedy-inwestorzy-powiedza-sprawdzam-269382-150x100crop.png) 
 
 
 


