Geneza i ogólny opis

Obiektowy język definiowania dokumentów hipertekstowych i jego implementacja.

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

Geneza i ogólny opis

Poprzednia strona: Wywołanie kompilatora
Nastepna strona: Uruchamianie

Kompilator ObjectHTML tworzy tylko zwykłe pliki zawierające kod HTML. Nie jest możliwe łatwe zintegrowanie ObjectHTML z istniejącymi serwerami WWW tak aby kompilator przetwarzał parametry pochodzące z zapytania protokołu HTTP i dynamicznie generował stronę w odpowiedzi. Na początku pracy napisałem, że ObjectHTML powinien być używany do pracy nad większymi projektami. Nieodzowną częścią wielu takich projektów są strony generowane dynamicznie. Wygląd wszystkich stron dynamicznych i statycznych powinien być taki sam, więc logiczne jest użycie jednego narzędzia do stworzenia układu. Rozwiązaniem tego problemu jest stworzenie układu strony i plików statycznych w ObjectHTML i użycie narzędzia makedefs pozwalającego na łatwą integrację wyników pracy kompilatora z narzędziami takim jak ASP, PHP.

Właściwie dodawanie nowego modułu do kompilatora rozszerzającego go o możliwość dynamicznej generacji stron nie jest rozsądnym pomysłem. Technologie ASP i PHP są wysoko rozwinięte i nie ma potrzeby pisania czegoś co jest już zrobione.

Makedefs służy do tworzenia plików nagłówkowych języków programowania: C, C++, PHP, ASP. Pliki te są konwertowane z stron wygenerowanych przez kompilator OHTML. Do generowanej strony należy dołączyć pary instrukcji sterujących pełniących funkcję nawiasów. Makedefs przetwarza pliki w poszukiwaniu instrukcji sterujących, a po znalezieniu pary do pliku wynikowego dodaje instrukcję definiującą stałą tekstową z tekstem znajdującym się w nawiasach.

Każda z instrukcji sterujących powinna zaczynać się w pierwszym znaku nowej linii.

Ich postać jest następująca (iden jest dowolnym identyfikatorem):

<!--MYDEF iden-->

<!--ENDMYDEF-->

Dodatkowo powyższe instrukcje mają formę komentarzy języka HTML. Dzięki temu stronę mającą ulec konwersji można bez żadnych przeszkód obejrzeć w przeglądarce, a instrukcje makedefs zostaną zignorowane. Można więc dopracować wygląd stron dynamicznych bez potrzeby testowania ich w rzeczywistym środowisku.

Tekst przypisany na stałą musi być odpowiednio sformatowany tak aby docelowy kompilator nie miał problemów ze znalezieniem początku i końca stałej. W przypadku konwersji do plików nagłówkowych języków C, C++ zostaną przeprowadzone następujące konwersje:

  • znaki "\" zostaną zamienione na "\\"
  • znaki cudzysłowów będą poprzedzone znakiem backslash "\"
  • znaki końca linii zostaną zamienione na "\n", dzięki czemu znak nowej linii wejdzie do stałej

Listopad 2000