• úvod
  • témata
  • události
  • tržiště
  • diskuze
  • nástěnka
  • přihlásit
    registrace
    ztracené heslo?
    XCHAOSANSI C/C99 (specifikace), GNU C (gcc, glibc), Tiny C (tcc) a POSIX - ne nutně C++,g++,libstdc++ nebo Win32 API
    XCHAOS
    XCHAOS --- ---
    KILLUA: no, "vlastní jazyk" má cenu definovat, pokud dosáhneš i na nějakou vlastní sémantiku. jinak se tomu říká "makra" nebo "vlastní API pro vlastní knihovnu".
    KILLUA
    KILLUA --- ---
    Wild: No ten notepad nedovolí změnit zvýraznění pro existující jazyk, ale můžeš si vytvořit profil vlastního jazyku, který bude úplně identický s C, akorát si tam přidáš jaké chceš pravidla pro zvýraznění - nevěděl sem jestli to jde a teď už vím, že jo.

    Jo, magického to celkem sedí :-D hlavně nabídka pro nalinkování dalších knihoven schovaná 4 nebo kolik kliků v nastavení.. já to prostě nemohl najít.
    WILD_A
    WILD_A --- ---
    KILLUA: No Visual studio je hned z kraje vleky sousto, deje se tam mnoho magickeho a ne zcela zrejmeho, mozna bych radsi zkusil bych jit cestou cygwin/gcc jelikoz tam je mnoho veci explicitne videt. Sice visual studio funguje v podstate stejne nicmene to schovava.

    KILLUA: A na co potrebujes definovat vlastni jazyk kdyz to chces pro C? Nejak nechapu ucel.
    DAVIDOWITCH
    DAVIDOWITCH --- ---
    KILLUA: Tak se podiva do toho souboru, protoze vi jak vypada include command.
    KILLUA
    KILLUA --- ---
    Takže v notepadu++ si skutečně lze nadefinovat syntax pro vlastní jazyk (zobrazit-uživatelksy definovaná syntaxe), stačí tedy napodobit tu z původního jazyka a přiřadit novému jazyku příslušné přípony souborů. No vida :)
    KILLUA
    KILLUA --- ---
    Davidowitch: To dává smysl, ale co když sem si to definoval v nějakém souboru co includuju?

    Wild: No to je mi jasný, že to za 60 minut nebude už ho nějaký týden oťukávám, rozjet visual studio a nalinkovat externí knihovny byla samo o sobě výzva... .

    Buď mám starou verzi (dost možný), nebo sem slepej ale právě sem to v notepadu++ nenašel lze tam definovat jenom vlastní celé slovo ale ne něco jako slovo.*
    Ale určitě to nějak půjde, protože teď čtu o úplně vlastních programovacích jazycích a že je to podporuje.
    WILD_A
    WILD_A --- ---
    KILLUA: notepad++ ma zrovna mod pro C/C++ a syntax highlight zvlada v pohode.
    WILD_A
    WILD_A --- ---
    Je to poznat z gramatiky, coz neni zrovna zrejmy ctenari, kterej to nema nakoukany nebo nema ulktrarychlej obvod v mozku pro parsovani bezkontextovych gramatik :) Nicmene algoritmus je to celkem jednoduchej a jasnej, takze to parser dobre pozna to plati i v pythonu, tam je to taky jasny z gramatiky. Kazdopadne dolar pred promenou je blbost.


    KILLUA: To uz si stihnul doprogramovat se k sesty kapitole? To ses fakt rychlej nebo si to preskakal na rychlo? Pokud na rychlo tak je jasny, ze se v tom v sesty kapitole ztracis protoze je tam uz prilis mnoho noveho, neni to tutorial na odpoledne, ale na to aby se clovek naucil veci poradne a to znamena ze tim zabije nejakej cas. C neni uplne snadnej jazyk na nauceni, tj learn C in 60 minutes fakt nefunguje, kdyz o tom moc nevis.
    DAVIDOWITCH
    DAVIDOWITCH --- ---
    KILLUA: Ja zas neumim PHP, ale v C musej bejt vsechny promenny deklarovany. Tj. musis nejdriv rict "int a;" a pak uz ty, prekladac i highlighter vite ze "a" je promenna (typu int). Dalsi deklarace "a" ve stejnym scope neni validni, priradit tam string taky nemuzes atdatd.
    A zaroven nemuzes udelat "a = neco" a cekal ze se ti vyrobi "a" spravnyho typu.
    Takze, vyhoda silne typovanyho jazyka je, ze to proste poznas ze syntaxe.
    A treba Python to pozna taky, i kdyz tyhle deklarace nema, ale uplne si nejsem jistej jak (kdybych mel tipnout, co neni klicovy slovo nebo funkce bere, v prvnim priblizeni, za promennou).
    Jo, a last but not least, kdyz to pozna prekladac, musi to umet poznat i neco co dela syntax highlight.

    (A jo, ted me nekdo chytne za slovo ze deklarace typu bejt nemusi, protoze v prehistorickym standardu C fungovalo ze kdyz to nema typ, je to int...)
    KILLUA
    KILLUA --- ---
    Ale jestliže proměnné v c nejsou nijak odlišené jak je cokoli pozná od ostatních částí kódu?
    Představoval sem si to tak, že by třeba nějaký plugin třeba pro notepad++ povoloval rozlišit zvýraznění dle třeba toho začátečního písmena (nějakého regex) pravidla.
    DAVIDOWITCH
    DAVIDOWITCH --- ---
    KILLUA: Ne, od toho je sytanx/semantic highlighting v (dopln svuj oblibeny editor/IDE)
    KILLUA
    KILLUA --- ---
    Ale ještě jeden dotaz z PHP sem celkem navyklej na ten dolar před proměnejma - lépe se v kódu orientuje, myslíte je dobrej nápad psát kód takhle? xprom1, xprom2
    tedy dávat vždy na začátek třeba x, nebo jiné písmeno? A co třeba _prom1, _prom2 jde?
    KILLUA
    KILLUA --- ---
    No díky, asi u 6 kapitoly návodu psaní lispu jsem raději utekl. Mám pocit, že by mě to přecijen pletlo psát vlastní jazyk když vůbec neumím ani to C.

    Xchaos - ta práce se sdl bude stejná i ve win, nebo ne? Ale dík.
    XCHAOS
    XCHAOS --- ---
    Lisp jako "primitivní hra"? hmm... :-)
    REDGUY
    REDGUY --- ---
    KILLUA: Jezis, ja jsem dneska uplne retardovanej. Ted teprve jsem kouknul a ten link od WILD_A a vidim, ze to je neco trochu jinyho nez jsem myslel. Teda, obsahove to je ono a moje chvala te rady porad plati, ale to co jsem myslel ja je https://github.com/kanaka/mal , vynikajici navod jak napsat interpretr Lispu v cemkoliv, vcetne toho C. Cituji, Mal is a learning tool. Each implementation of mal is separated into 11 incremental, self-contained (and testable) steps that demonstrate core concepts of Lisp. The last step is capable of self-hosting (running the mal implementation of mal).
    REDGUY
    REDGUY --- ---
    REDGUY: Eeeh, predchozi zprava je pochopitelne adresovana KILLUA 8)
    REDGUY
    REDGUY --- ---
    WILD_A: Tohle je popravde receno uplne nejlepsi mozna odpoved. Protoze (a) splni co to chces, naucis se C na praktickym prikladu, a zaroven (b) naucis se LISP, cili uplne jinej pohled na programovani nez zatim mas (podle toho cos napsal ze umis).
    XCHAOS
    XCHAOS --- ---
    KILLUA: pod Linuxem se na programování her snad měla používat knihovna SDL. přiznám se, že moc zkušeností s tím nemá, čistě céčkové API ale rozhodne nabízí, viz např.
    Linux Game Programming Tutorial 1: Introduction / First SDL - Game Programming Tutorials | Dream.In.Code
    http://www.dreamincode.net/...topic/290187-linux-game-programming-tutorial-1-introduction-first-sdl/
    WILD_A
    WILD_A --- ---
    Za mne je tohle nejlepsi tutorial, nauci C a zaroven Lisp .... http://www.buildyourownlisp.com/
    KILLUA
    KILLUA --- ---
    Zdravím, zvládám PHP, Javascript a rozhodl sem se začít učit i něco jiného po dlouhém vybírání sem se rozhodl pro čisté C s tím, že budu pracovat a kompilovat v C++ prostředí, abych případně mohl použít C++ když by mi v C něco chybělo.

    Nejlépe se vždycky učím na nějakém praktickém příkladu a proto vlastně píšu sem, chci se zeptat jestli nevíte o nějakých dobrých tutorialech např. o vývoji nějakých primitivních her. Něco sem si už našel na googlu, ale neuškodí se zeptat. I z toho PHP vím, že nějaké jakoby triviální věci co strašně usnadní programování "objeví" člověk i za rok dva... když ho někdo neupozorní.
    Kliknutím sem můžete změnit nastavení reklam