Mercurial > pasana
view parser.h @ 2:ff5e493bc9cb default tip
2003-01-29
| author | Radomir Dopieralski <sheep-devel@sheep.art.pl> |
|---|---|
| date | Sat, 13 Oct 2012 21:14:50 +0200 |
| parents | 1361f218a6e5 |
| children |
line wrap: on
line source
/* Struktura parsera. */ #ifndef PARSER_H #define PARSER_H #include <glib.h> #include <stdio.h> #include "node.h" #include "symbols.h" struct Parser { GString *filename; /* Nazwa pliku zrodlowego. */ FILE *source; /* Plik źródłowy. */ GHashTable *keywords; /* Tablica slow kluczowych. */ Namespace *global; /* Globalna przestrzen nazw. */ int levelup; /* Czy ma sprawdzac inne tablice symboli niz aktualna */ GList *namespaces; /* Stos przestrzeni nazw. */ int line; /* Aktualna linia. */ SymbolNode *root; /* Pierwszy węzeł drzewa parsowania. */ GString **codecomment; /* miejsce, gdzie ma byc wpisany kolejny komentarz do kodu. */ GString *blockcomment; /* ostatni komentarz blokowy. */ GList *scopes; /* Stos zasięgów -- zawiera symbole w których zasięgu aktualnie * szukane są symbole. */ const char * last_token; /* Tekst ostatnio wczytanego tokena. */ }; typedef struct Parser Parser; /* Tworzy nowy parser. */ Parser *newParser(const char *filename); /* Niszczy parser. */ void destroyParser(Parser * parser); #endif
