• ú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 --- ---
    (varování: netýká se exkluzivně jen jazyka C - mírný offtopic)
    In Praise of the Solo Programmer - Slashdot
    http://developers.slashdot.org/story/15/08/27/0254236/in-praise-of-the-solo-programmer
    ANT_39
    ANT_39 --- ---
    ANT_39
    ANT_39 --- ---
    Tohle by se mohlo (ba melo!) libit XCHAOSovi: https://github.com/rollbear/basicpp
    KILLUA
    KILLUA --- ---
    Přesně tak, jen sem přemejšlel o nějakém čistě uživatelském zvýraznění.
    WILD_A
    WILD_A --- ---
    KILLUA: Jo uz chaou ty chces nejaky extra veci na ty promeny, kdyz to ten dolar nebere, promin, nejak mne to vubec nenapadlo

    Ad VS jako v monha vecech je dobry, ale kdyz se clovek uci tak je to spis na obtiz jelikoz cloveku neni jasny co se deje, priapdne kde sakra reknu ze neco chci aby se delo.

    V tomhle ohledu zlatej Makefile, i kdyz Makefile generovanej autotools uz moc zlatej neni :)
    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).
    Kliknutím sem můžete změnit nastavení reklam