
ObjectHTML : Program narzędziowy makedefs : 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 p
rzetwarza 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: