Vlákno názorů k článku Mercury: Programování s pomocí instalatéra od jk - Je vhodne k takovym clankum take uvest odkaz...

  • Článek je starý, nové názory již nelze přidávat.
  • 4. 3. 2004 22:35

    jk (neregistrovaný)

    Je vhodne k takovym clankum take uvest odkaz na zdroje, kde se clovek docte podstatne vice a kde jsou k dostani nastroje a eventualne, zda dany jazyk podporuje i nejaka korporace a nejen parta nadsenych vyvojaru. Resit NEKTERE problemy pomoci PL je pomerne zajimava vec, takze budu muset pouzit sluzby nejake vyhledavaci sluzby(GOOGLE:-)).

  • 4. 3. 2004 22:38

    jk (neregistrovaný)

    Take by me zajimalo jake programy jste v MERCURY vytvoril - to ze nepouziji debuger 2 roky jeste moc neznamena.

  • 8. 3. 2004 14:01

    Ondřej Bojar (neregistrovaný)

    Napsal jsem lingvistický modul do školního projektu. V systému "robůtků" běhajících po domě tenhle modul zajišťuje, že robot rozumí větám typu "Seber červenou knihu." "Dej ji na polici v knihovně." Pokud nelze z udaného popisu předmět určit, robot se zeptá: "Kterou červenou knihu, tu v pokoji nebo tu v kuchyni?" A správně rozumí odpovědi "Tu v kuchyni.".

    Pak jsem napsal interpret vlastního jazyka na výběr "jednoduchých vět" (jeden typ "jednoduchých vět" jsou skutečně věty jednoduché, ale můžete napsat skriptík na výběr něčeho jiného) z textu. Základním stavebním kamenem jsou sestavy rysů a regulární výrazy nad sestavami rysů.

    Pak jsem napsal kompilátor vlastního jazyka na přípravu tabulek do Perlu. Ten jazyk lze charakterizovat takto: popíšete cílovou tabulku jako slepeninu tabulek podsebou a vedle sebe, lepíte jakkoli se vám hodí, ale aby lepení bylo možné, tj. počet řádků/sloupců musí souhlasit. Dále popíšete, kde se berou vstupní data, např. SQL dotaz, a jak se vstupní data pro účely tabulky transformují. Pikantní na té transformaci je eliminace for-cyklů, speciálně vnořených. Když budu mít proměnnou seznam_cisel a v ní jednotlivá čísla uchovaná v položce cislo, tak se např. podíl jednotlivých čísel na součtu nechá vypočítat takto:

    seznam_cisel {
    cislo,
    podil_cisla_na_souctu = cislo / ..:soucet
    },
    soucet = sum(seznam_cisel, cislo)

    A pro kontrolu, že nám podíly sčítají do jedničky, můžeme přidat jeden řádek:
    pro_kontrolu_soucet_do_1 = sum(seznam_cisel, podil_cisla_na_souctu).

    Zmíněný kompilátor vyřeší všechny závislosti mezi proměnnými, přidá potřebné for-cykly a uloží program v Perlu, který tabulku generuje (např. ze zmíněných SQL dotazů.)

    A pak ještě řadu drobností.

  • 8. 3. 2004 13:37

    Ondřej Bojar (neregistrovaný)

    Citaci jsem posílal souběžně s článkem do redakce. Omlouvám se, že jsem nezkontroloval, že se nevytratila. A ona se vytratila.

    http://www.cs.mu.oz.au/research/mercury/