Příklad číslo 3
Napište program, který zkontroluje správnost HTML-- textu.
HTML (HyperText Markup Language) je jazyk pro tvorbu hypertextových dokumentů pro počítačové sítě. HTML-- je jeho velmi zjednodušená varianta.
Vychází z běžného textu, jehož významné části (např. jména kapitol či odkazy na jiné texty) jsou označeny značkami. Ty se vyskytují v párech. Zahajující značka má vždy tvar <zn>, ukončující značka </zn>. Část textu, uzavřená mezi nimi, se nazývá prostředí.
HTML-- má následující čtyři druhy značek:
| Zahájení | Ukončení | Význam |
|---|---|---|
| <H1> | </H1> | jméno kapitoly |
| <H2> | </H2> | jméno podkapitoly |
| <STRONG> | </STRONG> | zvýrazněný text |
| <A HREF="odkaz"> | </A> | odkaz na jiný dokument |
Ukázka textu:
<H1>Popis programu <STRONG>nic</STRONG></H1> Tento program, jak název napovídá, nedělá <STRONG>nic</STRONG>. Zato je velmi efektivní - viz popis <A HREF="jinytext">implementace</A>.
Jednotlivá prostředí se do sebe mohou vnořovat, ale nesmí dojít k překřížení --- tedy lze <H1>...<H2>...</H2>...</H1>, ale nikoli <H1>...<H2>...</H1>...</H2>. Také nelze vnořovat prostředí samo do sebe --- např. <H1>...<H1>...</H1>...</H1> není povoleno. Za zahájením značky <A... musí následovat alespoň jedna mezera, text HREF= a v uvozovkách jméno dokumentu, na který vede odkaz. Jiné značky, než čtyři výše uvedené, nejsou povoleny. Symboly < a > se v textu nevyskytují jinde, než jako vymezovače značek.
Vstup:
Vstupem programu je textový soubor.
Výstup:
Program by měl zkontrolovat, zda vstupující soubor splňuje zde uvedené vlastnosti a zda tedy je správně vytvořeným HTML-- textem. Jeho výsledkem je buď potvrzení správnosti textu nebo informace o chybě.