======== HW 08 - Zpracování strukturovaného textu ======== ^ Termín odevzdání | 5.1.2019 23:59 CEST | ^ Povinné zadání | 4b | ^ Volitelné zadání | 5b | ^ Počet uploadů | 10 | Cílem úlohy je provést analýzu strukturovaného textu (XML) ve formě textového souboru obecné délky na standardním vstupu programu. V úloze uvažujeme pouze slova bez diakritiky. ===== Povinné zadání ===== * Ze standardního vstupu přečtěte textový soubor obecné velikosti. * Informace v textovém souboru je strukturována pomocí XML značek. * XML značky jsou párové (, ) nebo nepárové (, ). Ve vstupním textu se mohou objevit oba druhy. * Párovost / nepárovost značek zde není určena definicí, ale pouze zápisem (tj. kombinací znaků '<', '>' a '/'). * Ověřte, že text je správně strukturován (validní). ===== Příklady ===== ==== Příklad 1 - pub00 ==== ^ Standardní vstup (stdin) ^ Očekávaný výstup (stdout) ^ Návratová hodnota ^ | | text nevalidni | 100 | ==== Příklad 2 - pub01 ==== ^ Standardní vstup (stdin) ^ Očekávaný výstup (stdout) ^ Návratová hodnota ^ | 10 ahoj svete | pocet tagu: 5 text validni | 0 | ==== Příklad 3 - pub02 ==== ^ Standardní vstup (stdin) ^ Očekávaný výstup (stdout) ^ Návratová hodnota ^ |
10 20
| pocet tagu: 7 text validni | 0 | ===== Volitelné zadání ===== * XML značky ve vstupním textu obsahují parametry (např. ). * Mezi názvem značky a parametrem je právě jedna mezera, za názvem parametru následuje znak '=' a hodnota parametru v uvozovkách. * V textu se mohou vyskytovat specialni XML značky , a . Vypočtěte výraz definovaným XML dokumentem. ===== Příklady ===== ==== Příklad 1 - opt01 ==== ^ Standardní vstup (stdin) ^ Očekávaný výstup (stdout) ^ Návratová hodnota ^ |
10 20
| pocet tagu: 7 text validni | 0 | ==== Příklad 1 - opt02 ==== ^ Standardní vstup (stdin) ^ Očekávaný výstup (stdout) ^ Návratová hodnota ^ | | a=-10 b=30 pocet tagu: 8 text validni | 0 | (Další příklady jsou v poskytnutém archivu.) ===== Varianty ===== Veřejné příklady + Makefile: [[https://drive.google.com/file/d/129sKQ4UHTWAWyuqFff3EGXiTl3bBfglQ/view?usp=sharing|b0b99prpa-hw08.zip]] ^ ^ Povinné zadání ^ ^ Název v BRUTE | HW08 | ^ Odevzdávané soubory | main.c | ^ Kompilace pomocí | clang -pedantic -Wall -Werror -std=c99 |