Portál AbcLinuxu, 21. července 2025 02:38


Dotaz: Vlastný programovací jazyk

26.3.2017 11:56 sami
Vlastný programovací jazyk
Přečteno: 972×
Odpovědět | Admin
Nedávno som si napísal interpreter jednoduchého jazyka.

Teraz píšem ďalší jazyk, ktorý by som, ale chcel kompilovať do natívneho kódu. Viete poradiť najednoduchšie riešenie ako na to? (Assembler neovládam) Napadlo ma či by výstup generátora môjho jazyka nebol kód v inom jazyku (napriklad C) ktorý by sa potom kompiloval iným prekladačom do bináriek.

Ďalší nápad je použiť CLANG ten má vraj niečo ako LVVM ale vela o tom neviem.

Řešení dotazu:


Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

26.3.2017 11:57 sami
Rozbalit Rozbalit vše Re: Vlastný programovací jazyk
Odpovědět | | Sbalit | Link | Blokovat | Admin
oprava LLVM
26.3.2017 12:30 Petr Šobáň | skóre: 80 | blog: soban | Olomouc
Rozbalit Rozbalit vše Re: Vlastný programovací jazyk
Odpovědět | | Sbalit | Link | Blokovat | Admin
Vykašli se na to je dost jiných jazyků co můžeš použít....

Ale pokud si chceš hrát tak se prostě ASM musíš naučit a napsat si vlastní kompilátor.

Protože psát kompilátor který to přeloží do jiného jazyka a pak do ASM tím co existuje je celkem blbost - když už píšeš kompilátor tak rovnou do ASM.
27.3.2017 10:47 krocan
Rozbalit Rozbalit vše Re: Vlastný programovací jazyk
Ano jedine spravny postup je naucit se assembler veskereho HW, na kterem to pobezi, a do nej to pak rucne prekladat. Hlavne nepouzivat nic, co uz je hotove a odladene, tim by se mohlo usetrit nekolik let casu, vyhnout se milionu chyb nebo by se vygenerovat optimalizovana binarka a nic z toho v zadnem pripade nechceme!
29.3.2017 00:24 Petr Šobáň | skóre: 80 | blog: soban | Olomouc
Rozbalit Rozbalit vše Re: Vlastný programovací jazyk
A proč to tedy dělá? Ať tedy použije jazyk který je už hotový, bude k tomu i překladač, takže třeba dopsat knihovny pro určitý speciální HW pro který to potřebuje.....
30.3.2017 12:33 Kate | skóre: 9
Rozbalit Rozbalit vše Re: Vlastný programovací jazyk
Ty si myslíš že dnes někdo vyvíjí nový jazyk v assembleru? Překladač nového jazyka se většinou napíše v nějakém už existujícím jazyce a když je hotový, tak se občas ještě kompilátor přepíše do dotyčného nového jazyku. Pak se po první kompilaci píše kompilátor čistě sám v sobě :)
26.3.2017 13:25 Kit | skóre: 45 | Brno
Rozbalit Rozbalit vše Re: Vlastný programovací jazyk
Odpovědět | | Sbalit | Link | Blokovat | Admin
Ještě bys mohl použít LLVM bez Clang.

Pokud by ten tvůj jazyk měl být univerzální, tak už tady bylo řečeno, že máme dostatek univerzálních programovacích jazyků.

Pokud je však ten jazyk doménově specifickým, tak směle do toho. Jen bych asi raději zůstal u nějakého křížence, jakým je například Lisp. Zcela tě to odstíní od nějakého assembleru a aplikace se stane snadno přenositelnou.
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
27.3.2017 08:45 Zdenek Henek
Rozbalit Rozbalit vše Re: Vlastný programovací jazyk
Odpovědět | | Sbalit | Link | Blokovat | Admin
Na uceni urcite dobry.

Pokud potrebujes jazyk, ktery vyuzijes "univerzalne", tak urcite se podivej na Lua. https://www.lua.org/start.html

Lua scriptovani najdes skoro vsude. Je to popularni scriptovaci jazyk v hernich enginech, ale Lua najdes i v Nginx.
27.3.2017 10:10 petr
Rozbalit Rozbalit vše Re: Vlastný programovací jazyk
Odpovědět | | Sbalit | Link | Blokovat | Admin
Nedavno jsem dostal napad na vyrobu tepla ze dreva. Neni to ale obycejne drevo, ale jedna se o drevo suche narezane na 50 cm dlouhe klaciky. Ted hledam zpusob jak svuj napad zdokonalit, ale nechce se mi ucit se pracovat s pilou. Napadlo me, ze bych mohl vozit drevo do ciny kde maji sekyru, co si o tom myslite?
27.3.2017 10:17 Kit | skóre: 45 | Brno
Rozbalit Rozbalit vše Re: Vlastný programovací jazyk
A pointa?
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
27.3.2017 10:23 Radek
Rozbalit Rozbalit vše Re: Vlastný programovací jazyk
Předpokládám, že autor chtěl vyjádřit, že se jedná o drbání pravou rukou za levým uchem. Příliš složité a výsledek nic moc.
27.3.2017 11:16 Kit | skóre: 45 | Brno
Rozbalit Rozbalit vše Re: Vlastný programovací jazyk
Vždyť ani Clang nepřekládá pímo do binárky, tak by ten LLVM mohl dobře posloužit. Navíc se dá použít v různých režimech, klidně bych ho alespoň zpočátku využíval jako interpretr.
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
28.3.2017 10:53 salam
Rozbalit Rozbalit vše Re: Vlastný programovací jazyk
Clang je ta Čína.
27.3.2017 16:06 rich
Rozbalit Rozbalit vše Re: Vlastný programovací jazyk
Odpovědět | | Sbalit | Link | Blokovat | Admin
ohledne teorie prekladacu
http://www.cs.vsb.cz/behalek/vyuka/pjp/skripta/skr-mb.pdf
a neco o programovani
http://ksp.mff.cuni.cz/tasks/18/
Řešení 2× (mimi.vx, kozzi)
29.3.2017 01:03 pc2005 | skóre: 38 | blog: GardenOfEdenConfiguration | liberec
Rozbalit Rozbalit vše Re: Vlastný programovací jazyk
Odpovědět | | Sbalit | Link | Blokovat | Admin
Tak nejdřív se musíš rozmyslet co se chceš naučit. Chceš umět x86(/ARM/MIPS/forth...) strojový kód? Dneska to je už téměř k ničemu. Leda bys chtěl vyvíjet backendy GCC, LLVM a nebo vyvíjet HW procesorů. Budeš se muset naučit chráněný mód x86 - mňamka. A různé formáty volání linuxovejch knihoven apod.

Pokud chceš mít jen jazyk, tak se spíš nauč přidělat frontend do GCC/LLVM a získáš navíc možnost programu, který běží na víc architekturách. Popřípadně můžeš udělat překlad do céčka, ale to se hodí jen na jazyky jako je brainfuck apod (u složitého jazyka třeba jako java by to bylo složitější než frontend).

Taky můžeš jako Basic přibalit vždycky ten interpretr :-D.

A nebo nemusíš troškařit a napiš si i vlastní procesor ve VHDL/Verilogu (nebo vlastní jazyk pro popis vlastního procesoru :-D).
Intel meltdown a = arr[x[0]&1]; karma | 帮帮我,我被锁在中国房
29.3.2017 18:42 Radovan
Rozbalit Rozbalit vše Re: Vlastný programovací jazyk
Odpovědět | | Sbalit | Link | Blokovat | Admin
Napiš překladač do C a pak to nech normálně zkompilovat čímkoliv jiným. Takhle vznikl C++ :-)
kozzi avatar 30.3.2017 09:50 kozzi | skóre: 55 | blog: vse_o_vsem | Pacman (Bratrušov)
Rozbalit Rozbalit vše Re: Vlastný programovací jazyk
Odpovědět | | Sbalit | Link | Blokovat | Admin

Tak pokud chces vytvorit kompilovany jazyk tak doporucuji si napsat jen frontend a napojit to na jiz existujici backend (gcc, llvm). Pripadne muzes vyuzit nejakou VM (jvm, CLI, parrotvm...). Ja osobne bych volil LLVM, jak se to dela se muzes inspirovat napriklad u jazyka D. ten podporuje tri backendy GCC(gdc), LLVM(ldc) a vlastni(dmd).

Linux je jako mušketýři "jeden za všechny, všichni za jednoho"
kozzi avatar 31.3.2017 09:23 kozzi | skóre: 55 | blog: vse_o_vsem | Pacman (Bratrušov)
Rozbalit Rozbalit vše Re: Vlastný programovací jazyk
Odpovědět | | Sbalit | Link | Blokovat | Admin

Zrovna na redditu vyslo neco co by mohlo pomoct pri rozhodovani

https://medium.com/@william01110111/the-programming-language-pipeline-91d3f449c919

Linux je jako mušketýři "jeden za všechny, všichni za jednoho"

Založit nové vláknoNahoru

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

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.