ObjectHTML
Wstęp - geneza, zastosowania
Opis podstawowych pojęć
Internet
IP
TCP
HTTP
WWW
HTML
URL
Pozostałe usługi
Definicje
Inne rozwiazania
Wprowadzenie
ASP
JSP
PHP
Homesite
Microsoft FrontPage
Projekt języka
Struktura leksykalna
Komentarze
Typy atrybutów i zmiennych
Podstawowe składowe programu
Deklaracje
Klasy
Metody
Atrybuty
Grupy
Wprowadzenie
Definicja
Instrukcje
$
[ ]
call
set
append
incr
if
while
for
currenttime
encode
import
export
grmembers
grname
grparent
lastwordin
firstwordin
beforeword
afterword
query
Wyrażenia i operatory
file
image
include
Gramatyka
Wywołanie kompilatora
Program narzędziowy makedefs
Geneza i ogólny opis
Uruchamianie
Przykłady użycia
Opis implementacji
Drzewo programu / kompilator
Opis najważniejszych klas ->
Przykładowa aplikacja
Podsumowanie
Literatura
| |
- ohBaseNode
Jest to klasa bazowa dla wszystkich klas reprezentują cych elementy drzewa programu.
Atrybuty:
- next - Jest to najważniejszy atrybut tej klasy. Wskazuje on na następny element programu. W ten sposób tworzone są listy: instrukcji, parametrów, składowych klasy, itd.
- sou_linenr, sou_filename - Określają położenie elementu w pliku źródłowym OHTML. Są one wykorzystywane podczas wypisywania komunikatów o błędach.
- creationOrder - Numer porządkowy określający kolejność tworzenia obiektów. Jest on wykorzystywany przy sortowaniu obiektów według kolejności wystąpienia danego elementu w kodzie źródłowym.
Metody:
- reverseList - Odwraca kolejność listy utworzonej przez atrybuty next.
- addToClass - Dodanie obiektu do podanej klasy.
- getName - Zwraca identyfikator elementu.
- getLongName - Zwraca długą nazwę elementu.
- ohAttrNode
Klasa to przechowuje informacje o atrybutach OHTML kasy. Jest ona również wykorzystywana do przechowywania zmiennych lokalnych.
Atrybuty:
- attrName - Identyfikator
- attrValue - Aktualna wartość
- defaultValue - Wartość początkowa.
Metody:
- getValue - Zwraca aktualną wartość atrybutu.
- setValue - Ustawia nową wartość
atrybutu.
- appendValue - Dopisuje argument do aktualnej wartości.
- ohMethodNode
Definicja metody klasy.
Atrybuty:
- methodName - Nazwa metody
- params - List nazw parametrów metody
- instr - Lista instrukcji
- locals - Tablica asocjacyjna do przechowywania zmiennych lokalnych
Metody:
- execute - Wykonuje instrukcje metody i zwraca wynik ich wykonania.
- getAttr - Wyszukuje atrybut o podanej nazwie wśród zmiennych lokalnych i atrybutów klasy.
- addToLocals - Dodaje atrybut do zmiennych lokalnych.
- ohGroupNode
Definicja i obsługa grup.
Atrybuty:
- grName - Identyfikator grupy
- longGrName - Długa nazwa grupy.
- exName - Identyfikator grupy bazowej.
- fiMembers - Tablica asocjacyjna obiektów typu file należących do grupy.
- grMembers - Tablica asocjacyjna podgrup.
- allMembers - Tablica asocjacyjna wszystkich obiektów należących do grupy.
Metody:
- getMembers - Zwraca napis zawierający identyfikatory danego typu obiektów należących do grupy.
- getParent - Zwraca identyfikator nadgrupy. Gdy grupa nie ma zdefiniowanej nadgrupy zwracany jest pusty napis.
- prepGroupObject - Inicjuje początkowy stan grupy. W tym przypadku sortuje członków grupy.
- ohMetaClassNode
Z tej klasy dziedziczą inne klasy reprezentujące klasy i obiekty w programie OHTML. Udostępnia ona podstawową funkcjonalność do obsługi ich "obiektowości".
Atrybuty:
- clName - Nazwa klasy
- exName - Nazwa nadklasy
- methods - Tablica asocjacyjna do przechowywania metod.
- attributes - Tablica asocjacyjna do przechowywania atrybutów.
- cgroups - Napis zawierający identyfikatory grup do której należy reprezentowany obiekt.
Metody:
- inheriteMembers - Wyszukuje nadklasę i kopiuje jej atrybuty i wskaźniki do metod. Innymi słowy wykonuje "dziedziczenie" z nadklasy.
- executeMethod - Wyszukuje podaną metodę w tablicy asocjacyjnej metod i wywołuję ją.
- getAttr- Wyszukuje podany atrybut w tablicy asocjacyjnej i zwraca wskaźnik do niego.
- ohFileNode
Klasa ta reprezentuje obiekt OHTML typu file.
Atrybuty:
- fiName - Identyfikator obiektu
- filepath - Ścieżka dostępu do generowanego pliku.
- filename - Nazwa generowanego pliku.
- virname - URL generowanego pliku.
- longFilename - Długa nazwa obiektu.
- instr - Instrukcja służąca do wygenerowania zawartości pliku.
Metody:
- compile - Od wywołania tej metody rozpoczyna się właściwa kompilacja programu. Przed jej wywołaniem powinny być wykonane metody inicjujące obiekty, np. klasy OHTML powinny być wstawione do globalnej tablicy i dokonać "dziedziczenia". Metoda ta wykonuje instrukcję instr, która musi być instrukcją wywołania metody z podanej klasy.
- prepFileObject - Inicjuj
e stan początkowy: tworzy pełną nazwę pliku, URL, dodaje obiekt do grup, ustawia zmienną longname.
ohClassNode
Klasa ta reprezentuje klasę OHTML.
Atrybuty:
- members - Lista składowych klasy.
Metody:
- buildMaps - Dodanie składowych do wewnętrznych tablic asocjacyjnych i ewentualne ustawienie stałych atrybutów klasy takich jak: directory, groups, extension.
- getDirpath - Zwraca ścieżkę dostępu.
- getVirpath - Zwraca początek URL'a.
- getExt - Zwraca rozszerzenie plików dla obiektów typu file tworzonych z reprezentowanej klasy OHTML.
- ohImageNode
Klasa to reprezentuje obiektu OHTML typu rysunek. Tworzy ona podstawowe metody tego typu obiektu: href, fhref, filename, size, width, height.
- ohBaseClassNode
Jest to klasa reprezentująca klasę bazową OHTML o nazwie ohbase. Tworzy ona podstawowe metody dla tej klasy takie jak: href, fhref, filename, groups.
- ohInstrNode
Klasa bazowa dla wszystkich klas przechowujących elementy programu będące instrukcjami.
Metody:
- execute - Wykonanie instrukcji i zwrócenie wyniku.
- ohExprNode
Jest to klasa bazowa dla klas reprezentujących podstawowe wyrażenia operujące na napisach, liczbach całkowitych i grupach.
Atrybuty:
- left - Wskazuje na lewy argument.
- right - Wskazuje na prawy argument.
Metody:
- eval - Wykonuje wyrażanie i zwraca wartość logiczną prawda lub fałsz.
ohEnv
Klasa ta przechowuje informacje o środowisku działania kompilatora takie jak: katalog do którego będą zapisywane generowane pliki, początek URL'u pod którym będą dostępne strony i domyślne rozszerzenie plików. Dodatkowo klasa ta posiada metody do wypisywania komunikatów o błędach.
|