|
Informatyka UJ forum Rocznik 2005 - czyli najlepsze forum w sieci
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
dzendras
Germański oprawca
Dołączył: 07 Mar 2006
Posty: 1326
Przeczytał: 0 tematów
Skąd: Chorzów
|
Wysłany: Pon 21:19, 28 Sty 2008 Temat postu: |
|
|
pobieżnie na plik y, na tablicę symboli, kilka przykładowych outputów
|
|
Powrót do góry |
|
|
|
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
Sobek
pijak
Dołączył: 06 Lut 2006
Posty: 323
Przeczytał: 0 tematów
Skąd: Lubaczów / ds16
|
Wysłany: Pon 21:46, 28 Sty 2008 Temat postu: |
|
|
W tablicy mamy podobno trzymać poziom zagnieżdżenia.
Np dla:
{
int a;
}
// i ciag dalszy programu
{
int a2;
}
I niby zmienne a i a2 są na tym samym poziomie, ale w różnych blokach. Jak to jakoś rozróżnić w tablicy symboli?
Ostatnio zmieniony przez Sobek dnia Pon 21:47, 28 Sty 2008, w całości zmieniany 1 raz
|
|
Powrót do góry |
|
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
Hetman
pijak
Dołączył: 06 Gru 2005
Posty: 127
Przeczytał: 0 tematów
Skąd: Ustka/Kraków
|
Wysłany: Wto 0:15, 29 Sty 2008 Temat postu: |
|
|
czy ostateczny termin oddania to jutro?
|
|
Powrót do góry |
|
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
exeman
Mistrz grilla
Dołączył: 03 Lut 2006
Posty: 1603
Przeczytał: 0 tematów
Skąd: znienacka
|
Wysłany: Wto 1:01, 29 Sty 2008 Temat postu: |
|
|
Sobek: Ale mysmy chyba mieli robic Pascala. W Pascalu poziomy zagniezdzenia sa wyznaczane tylko przez funkcje/procedury, bo nie mozna deklarowac zmiennej miedzy instrukcjami, a jedynie w sekcji var.
|
|
Powrót do góry |
|
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
yuuu
alkoholik
Dołączył: 18 Cze 2007
Posty: 593
Przeczytał: 0 tematów
|
Wysłany: Wto 1:11, 29 Sty 2008 Temat postu: |
|
|
@dzendras: tablice symboli to na ten nasz koncept czy ta w yaccu ;>?
|
|
Powrót do góry |
|
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
Sobek
pijak
Dołączył: 06 Lut 2006
Posty: 323
Przeczytał: 0 tematów
Skąd: Lubaczów / ds16
|
Wysłany: Wto 1:14, 29 Sty 2008 Temat postu: |
|
|
exe zgadza się. Ale analogiczny przykłąd:
procedure fist()
var
a : integer;
begin
// bla
end;
procedure second()
var
a2 : integer;
begin
// bla bla
end;
Jak tu określamy poziom zagnieżdżenia?
|
|
Powrót do góry |
|
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
dzendras
Germański oprawca
Dołączył: 07 Mar 2006
Posty: 1326
Przeczytał: 0 tematów
Skąd: Chorzów
|
Wysłany: Wto 1:37, 29 Sty 2008 Temat postu: |
|
|
yuuu napisał: | @dzendras: tablice symboli to na ten nasz koncept czy ta w yaccu ;>? | w yaccu
|
|
Powrót do góry |
|
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
exeman
Mistrz grilla
Dołączył: 03 Lut 2006
Posty: 1603
Przeczytał: 0 tematów
Skąd: znienacka
|
Wysłany: Wto 1:41, 29 Sty 2008 Temat postu: |
|
|
No to roznie mozna, my z yuuu to realizujemy przez dwie tablice haszujace (multi hashe). Jeden to tablica symboli dla blokow niezamknietych, druga to tablica symboli dla blokow juz zamknietych.
Wchodzac w blok (przy naglowku procedure/funcion) zwiekszamy licznik blokow o jeden i jak napotkamy jakies deklaracje zmiennych to wrzucamy je do tablicy symboli blokow niezamknietych z numerem bloku, czyli tym jaki uzyskalismy zwiekszajac licznik bloku przy wejsciu do bloku.
Po wyjsciu z bloku (end funkcji/procedury) przenosimy symbole utworzone na tablicy symboli blokow niezamknietych (ktore zostaly utworzone w tym bloku) do tablicy symboli dla blokow juz zamknietych.
Rosek o tym mowil na wykladzie, nie da sie tego jasno wytlumaczyc w paru zdaniach, ale mam nadzieje, ze cos pomoglem.
Zamiast podwojnej tablicy symboli, mozna tez stosowac drzewo, ale ja tej metody nie wybralem.
Pozdro.
|
|
Powrót do góry |
|
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
dzendras
Germański oprawca
Dołączył: 07 Mar 2006
Posty: 1326
Przeczytał: 0 tematów
Skąd: Chorzów
|
Wysłany: Wto 1:43, 29 Sty 2008 Temat postu: |
|
|
Sobek: to wszystko jest w wykładzie opisane - włącznie z pseudokodem, nawet w miarę przejrzyście....
|
|
Powrót do góry |
|
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
Sobek
pijak
Dołączył: 06 Lut 2006
Posty: 323
Przeczytał: 0 tematów
Skąd: Lubaczów / ds16
|
Wysłany: Wto 4:16, 29 Sty 2008 Temat postu: |
|
|
Ok dzieki :) Porozkminiam jutro.
|
|
Powrót do góry |
|
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
exeman
Mistrz grilla
Dołączył: 03 Lut 2006
Posty: 1603
Przeczytał: 0 tematów
Skąd: znienacka
|
Wysłany: Pią 21:59, 01 Lut 2008 Temat postu: |
|
|
Wielu pewnie stosuje w nazwach tokenów podkreślenie u dołu na początek. Nie wolno stosować _NEW, ja użyłem i z 10 godzin szukałem błędu, czemu mi STL wyrzuca kosmiczne błędy.
|
|
Powrót do góry |
|
|
|
Nie możesz pisać nowych tematów Nie możesz odpowiadać w tematach Nie możesz zmieniać swoich postów Nie możesz usuwać swoich postów Nie możesz głosować w ankietach
|
fora.pl - załóż własne forum dyskusyjne za darmo
Powered by phpBB © 2001, 2005 phpBB Group
|