abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 12:33 | IT novinky

    Na blogu Raspberry Pi byla představena rozšiřující deska Raspberry Pi AI HAT+ 2 s akcelerátorem Hailo-10 a 8 GB RAM. Na rozdíl od předchozí Raspberry Pi AI HAT+ podporuje generativní AI. Cena desky je 130 dolarů.

    Ladislav Hagara | Komentářů: 0
    dnes 12:11 | Komunita

    Wikipedie slaví 25. výročí svého založení. Vznikla 15. ledna 2001 jako doplňkový projekt k dnes již neexistující encyklopedii Nupedia. Doména wikipedia.org byla zaregistrována 12. ledna 2001. Zítra proběhne v Praze Večer svobodné kultury, který pořádá spolek Wikimedia ČR.

    Ladislav Hagara | Komentářů: 0
    dnes 04:44 | Nová verze

    Po více než dvou letech od vydání předchozí verze 2.12 byla vydána nová stabilní verze 2.14 systémového zavaděče GNU GRUB (GRand Unified Bootloader, Wikipedie). Přehled novinek v souboru NEWS a v aktualizované dokumentaci.

    Ladislav Hagara | Komentářů: 0
    dnes 02:22 | Nová verze

    Google Chrome 144 byl prohlášen za stabilní. Nejnovější stabilní verze 144.0.7559.59 přináší řadu novinek z hlediska uživatelů i vývojářů. Podrobný přehled v poznámkách k vydání. Opraveno bylo 10 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře (YouTube).

    Ladislav Hagara | Komentářů: 2
    dnes 01:55 | Humor

    Microsoft zveřejnil zdrojový kód XAML Studia a uvolnil ho pod MIT licencí. XAML Studio je nástroj ze světa Windows, určený pro tvorbu uživatelského rozhraní aplikací pomocí XAML (Extensible Application Markup Language). Stalo se tak zhruba po osmi letech od prvního prohlášení Microsoftu, že se tento kód chystá zveřejnit.

    NUKE GAZA! 🎆 | Komentářů: 0
    dnes 01:44 | Zajímavý projekt

    TimeCapsule, 'časová kapsle', je jazykový model trénovaný výhradně na datech z určitých míst a časových období, aby se tak napodobila autentická slovní zásoba, způsob vyjadřování a názory dané doby. Na Hugging face jsou k dispozici modely natrénované na historických textech dostupných v oblasti Londýna mezi lety 1800 až 1875.

    NUKE GAZA! 🎆 | Komentářů: 2
    včera 17:55 | Nová verze

    Radicle byl vydán ve verzi 1.6.0 s kódovým jménem Amaryllis. Jedná se o distribuovanou alternativu k softwarům pro spolupráci jako např. GitLab.

    Ladislav Hagara | Komentářů: 0
    včera 13:22 | Upozornění

    Zemřel Scott Adams, tvůrce komiksových stripů Dilbert parodujících pracovní prostředí velké firmy.

    Ladislav Hagara | Komentářů: 3
    včera 13:00 | Nová verze

    Sdružení CZ.NIC vydalo novou verzi Knot Resolveru (6.1.0). Jedná se o první vydanou stabilní verzi 6, která je nyní oficiálně preferovanou a doporučovanou verzí, namísto předešlé verze 5. Více o Knot Resolveru 6 je možné se dočíst přímo v dokumentaci.

    VSladek | Komentářů: 2
    včera 01:22 | Nová verze

    Byl vydán Linux Mint 22.3 s kódovým jménem Zena. Podrobnosti v přehledu novinek a poznámkách k vydání. Vypíchnout lze, že nástroj Systémová hlášení (System Reports) získal mnoho nových funkcí a byl přejmenován na Informace o systému (System Information). Linux Mint 22.3 bude podporován do roku 2029.

    Ladislav Hagara | Komentářů: 1
    Které desktopové prostředí na Linuxu používáte?
     (14%)
     (5%)
     (0%)
     (8%)
     (19%)
     (3%)
     (6%)
     (3%)
     (11%)
     (44%)
    Celkem 442 hlasů
     Komentářů: 12, poslední včera 21:12
    Rozcestník

    Dotaz: Štruktúra na uloženie klúčových slov

    Xgamer avatar 28.4.2010 22:50 Xgamer | skóre: 4
    Štruktúra na uloženie klúčových slov
    Přečteno: 304×
    Zdravím

    Ako semestrálny projekt z algoritmizácie som si vybral konvertor cčka do html+ zvyraznovač syntaxe. Trošku som sa však zasekol. Súbor s čkovským kodom chcem načitavat po riadkoch a po riadkoch to aj prevádzat. S čim mám však problem je ako čo najvhodnejšie implementovat slovnik klučových slov.

    Totiž ked bude už riadok načitaný do nejakého bufferu budem potrebovat načitavat po jednotlivých znakoch vytvárať slova a potom ich porovnat zo slovami v slovníku. Kvôli zvýraznovaniu je asi potrebné mať rozličné slovniky na datove typy, operatory .... Preto by som pri hladaní či je slovo klučové prehladat všetky tieto "polia", čo by trvalo asi pomerne dlho. Napadlo ma ešte to uložit do hashovacej tabulky ale pre +- 50 slov neviem či sa mi to oplatí. Nejaký napad? Pravdou je aj to že nie som s hash tabulkou moc kamarát, preto hladám nejaké iné riešenie. Ďakujem

    Odpovědi

    28.4.2010 23:31 chrono
    Rozbalit Rozbalit vše Re: Štruktúra na uloženie klúčových slov
    Na takúto činnosť sa často používa gperf (ale sú aj iné možnosti).
    28.4.2010 23:42 Ladicek | skóre: 28 | blog: variace | Havlíčkův brod
    Rozbalit Rozbalit vše Re: Štruktúra na uloženie klúčových slov
    Narvi si do Googlu výraz lexikální analýza. Přímá implementace (jeden veliký switch) nepotřebuje slovníky žádné, jen jednu množinu klíčových slov, protože ta vypadají stejně jako identifikátory (a rozlišit klíčová slova a ostatní identifikátory ihned je peklo).
    Ještě na tom nejsem tak špatně, abych četl Viewegha.
    AraxoN avatar 29.4.2010 08:33 AraxoN | skóre: 47 | blog: slon_v_porcelane | Košice
    Rozbalit Rozbalit vše Re: Štruktúra na uloženie klúčových slov
    Ja by som povedal, že na 50 pevne daných kľúčových slov sa neoplatí hash tabuľka. A ďalej by som povedal, že ak vstupom budú C-éčkové zdrojáky veľké rádovo v desiatkach kilobajtov, tak je neúčelné trápiť sa s nejakou prehnanou optimalizáciou. Ja by som to spravil tak, aby kód bol čo najprehľadnejší a najpriamočiarejší - ak teda zo zadania nevyplýva niečo iné.
    Xgamer avatar 29.4.2010 10:28 Xgamer | skóre: 4
    Rozbalit Rozbalit vše Re: Štruktúra na uloženie klúčových slov
    Tá lexikálna analýza vyzerá zaujimavo, už som robil niečo podobné pre odstraňovanie komentárov z cčkovských zdrojákov, ale to bolo o dost jednoduchšie ako tento prevod. Chcem využiť takú metódu, ktorá sa v praxi využíva, aby ma ten projekt o niečo obohatil. Preto si myslim, že v praxi sa využivajú pri takýchto úlohach hlavne tie stavové automaty či sa mýlim?
    29.4.2010 11:19 Martin Tůma | skóre: 39 | blog: RTFM | Praha
    Rozbalit Rozbalit vše Re: Štruktúra na uloženie klúčových slov

    Pro lexikální analýzu určitě použij konečný automat (ať už realizovaný řídící strukturou nebo tabulkou přechodů).

    Nicméně lexikální analýza není všechno, pokuď chceš zdrojáky skutečně parsovat (například už jenom vědět, že na vstupu je skutečně zdroják C a ne jenom libovolná sekvence lexikálních elementů), budeš muset udělat i syntaktickou analýzu. Zkus se podívat na "rekurzivní sestup", to je asi nejjednodušší metoda (která ti na LL1 gramatiku tvé podmnožiny C bude stačit) asi ta nejjednodušší metoda.

    Pak už ti stačí jenom doplnit implementovanou gramatiku o výstupní symboly a "obarvovač" je hotovej.

    Každý má právo na můj názor!
    29.4.2010 11:31 Martin Tůma | skóre: 39 | blog: RTFM | Praha
    Rozbalit Rozbalit vše Re: Štruktúra na uloženie klúčových slov

    Ještě doplním odkaz na skripta na programovací jazyky z ČVUT FEL, která by ti měla odpovědět na všechny zvídavé otázky ;-).

    Každý má právo na můj názor!
    Xgamer avatar 29.4.2010 12:57 Xgamer | skóre: 4
    Rozbalit Rozbalit vše Re: Štruktúra na uloženie klúčových slov
    Ďakujem, to je skutočne pekný material :)
    Xgamer avatar 29.4.2010 12:56 Xgamer | skóre: 4
    Rozbalit Rozbalit vše Re: Štruktúra na uloženie klúčových slov
    Myslím že sa zaobídem aj bez toho parsovania :-D, Budem rád keď zvládnem tu lexikálnu analyzu:) Určite sa pozriem na ten rekurzívny zostup.. Ďakujem
    Josef Kufner avatar 3.5.2010 02:45 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Štruktúra na uloženie klúčových slov
    Tady na abíčku vyšel o tomhle celý seriál. Jinak pro vyhledávání se mi celkem osvědčilo použít obyčejné seřazené pole stringů (char **) a pustit na to bsearch() – celkem rychlé a velmi jednoduché. Ale pokud klíčová slova nacpeš přímo do lexikálního analyzátoru (toho konečného automatu), tak převod vůbec nemusíš řešit a udělá to už ten automat a to stejně efektivně jako trie.
    Hello world ! Segmentation fault (core dumped)

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.