Autor | Zpráva | ||
---|---|---|---|
dominicek Profil |
#1 · Zasláno: 7. 5. 2016, 11:06:10
Zdravím chtěl bych se zeptat jak se dá vytvořit vlastní programovací jazyk. Co je k tomu potřeba, včem a jak ho vytvořit.
Díky za rady. |
||
juriad Profil |
#2 · Zasláno: 7. 5. 2016, 11:14:27
Na některé otázky je nejlepší odpověď, že pokud to sám nedokážeš vymyslet, tak se nemá cenu tím zabývat.
Ve stručnosti; definuješ syntax jazyka, pak každému konstruktu přiřadíš sémantiku, následně naprogramuješ překladač do existujícího jazyka (ať už je to vysokoúrovňový jazyk nebo strojový kód). |
||
noko Profil |
#3 · Zasláno: 7. 5. 2016, 11:22:50
Potřebuješ k tomu:
1. hlavu 2. perfektní znalost programování v alespoň dvou programovacích jazycích 3. nemyslet si že HTML je programovací jazyk 4. vědět jak vznikly jiné programovací jazyky ... a spoustu dalších věcí Ale spoustu programátorů a koderů si vytváří něco jako svůj framework pro již existující programovací jazyk. Nebo si "upravují" již existující jazyk, já třeba pracuju na MHTML (Moravské HTML) Promiň, ale myslím že to nedáš. |
||
dominicek Profil |
spíš by mi pomohlo kdyby jsi mi poradil jak vytvořit program do kterého něco zadám a on to vykoná...Resp. zadám do něj např. "tělo" a on mi to přeloží do "body".
chtěl bych si vytvořit něco jako HTML jazyk do kterého bych nemusel tagy zadávat v angl. ale v českém jazyce. |
||
noko Profil |
tagy se dají dělat pomocí css, třeba:
<style> podtrhnute {text-decoration: underline} </style> <podtrhnute>podtrhnutý text</podtrhnute> |
||
dominicek Profil |
#6 · Zasláno: 7. 5. 2016, 11:30:23
noko:
„tagy se dělají pomocí css, třeba:“ asi jsi nerozuměl mému požadavku |
||
noko Profil |
#7 · Zasláno: 7. 5. 2016, 11:31:36
Ano, pomocí výše uvedeného kódu si můžeš vytvořit (částečně) vlastní HTML
|
||
dominicek Profil |
#8 · Zasláno: 7. 5. 2016, 11:34:49
Spíš bych chtěl vytvořit nějaký program v podobě exe nebo tak něco!
|
||
noko Profil |
Si ho vytvoř.
|
||
dominicek Profil |
ja vím ale HTML má tagy psané v angl- jazyce a ja bych chtěl vytvořit nějaký překladač do kterého bych psal to samé ale ne v AJ ale v ČJ. A ten program by mi to následně přeložil do AJ.
noko: „Si ho vytvoř.“ Kdybych věděl jak, tak se tady neptám :-D |
||
noko Profil |
#11 · Zasláno: 7. 5. 2016, 11:38:54
dominicek:
„Kdybych věděl jak, tak se tady neptám :-D“ V Javě :-D |
||
dominicek Profil |
#12 · Zasláno: 7. 5. 2016, 11:40:07
a není něco jednodušího?...
|
||
noko Profil |
#13 · Zasláno: 7. 5. 2016, 11:41:00
|
||
dominicek Profil |
#14 · Zasláno: 7. 5. 2016, 11:43:27
A nechceš mi spíše poradit jak vytvořit program do kterého zadám nějaký příkaz a on ho vykoná?...
|
||
noko Profil |
|||
dominicek Profil |
#16 · Zasláno: 7. 5. 2016, 11:54:38
tak asi to nemá cenu se s tebou bavit kdyz nechápeš co chci....Nechci vytvářet programovací jazyk ale jen program který udělá to co chci, tak na co by mi byla java?
|
||
noko Profil |
#17 · Zasláno: 7. 5. 2016, 11:59:04
Na to aby si v NÍ napsal ten program :-)
|
||
dominicek Profil |
#18 · Zasláno: 7. 5. 2016, 12:02:20
Dobře asi máš pravdu a jinak to nejde....A co kdyby jsi mi poradil jak upravit existujicí program.
|
||
noko Profil |
#19 · Zasláno: 7. 5. 2016, 12:07:53 · Upravil/a: Moderátor (editace znemožněna) 10. 5. 2016, 15:13:24
Hm,
aby jsi upravil nějaký program, tak musíš umět programovací jazyk ve kterém je ten program napsaný. |
||
Fisir Profil |
#20 · Zasláno: 7. 5. 2016, 12:41:47
Reaguji na noka:
Co to tu prosímtě vyvádíš? Tazatel má znalosti na úrovni mateřské školy a ty mu tady radíš začít s Javou? Reaguji na dominicka: „tvorba programovacího jazyka […] chtěl bych si vytvořit něco jako HTML jazyk“ HTML není programovací jazyk. Je to značkovací jazyk, což je něco diametrálně odlišného, než jazyk programovací. Chceš si teda vytvořit vlastní programovací jazyk (což je třeba PHP a dají se v něm psát všemožné interaktivní aplikace), nebo značkovací jazyk (ve kterém se dají psát dokumenty)? Jestli ti jde jenom o možnost psát tagy česky a ne anglicky, tak bych se být tebou spíš naučil anglicky, než překládal HTML do češtiny. Zkrátka jestli chceš programovat nebo kódovat, aspoň trochu anglicky umět musíš. To už jsme ti tu psali dřív. |
||
Keeehi Profil |
dominicek:
Vytoření programovacího jazyka není nic jednoduchého. Učí se to na vysoké škole. Na Fakultě informačních technologií ČVUT se to učí jen v některých oborech a co mám informace, tak ty předměty patří k těm těžším. Na bakaláři to je předmět Programovací jazyky a překladače a na magistru předmět Generování kódu. Nějaké starší přednášky jsou veřejně dostupné na edux.fit.cvut.cz/oppa/BI-PJP a edux.fit.cvut.cz/oppa/MI-GEN Přidám ještě seznam doporučené literatury: • Melichar, B.: Jazyky a překlady. Vydavatelství ČVUT, Praha 1996. • Melichar, B, Češka, M. a kol.: Konstrukce překladačů. Praha, Vydavatelství ČVUT 2006. • Aho, Motwani, Ullman: Introduction to Automata Theory, Languages, and Computation (3rd ed.), Addison-Wesley, 2006. • Aho, Lam, Sethi, Ullman:Compiler: Principles, Techniques and Tools (2nd ed.), Addison-Wesley, 2010. • Muchnick: Advanced compiler design and implementation, Morgan Kaufman Publishers, 2009. • Fischer, LeBlanc: Crafting a Compiler, 1995. • Louden, K.: Compiler Construction, Thomson, 1997. • Müller K,: Programovací jazyky. Vydavatelství ČVUT, Praha 2001 • Nešvera, Š. Programovací jazyky: cvičení. Praha: ČVUT, 2002. ISBN 80-01-02522-5. • Wirth, N. ''Compiler Construction''. Addison-Wesley, 1996. ISBN 0201403536. To se týká tvoření vlastních jazyků a překladačů. Pokud ti jde jen o prosté nahrazení textu textem, tak to zas tak složité není. V c++ by to vypadalo třeba takto: #include <utility> #include <string> #include <iostream> #include <vector> using namespace std; int main () { vector<pair<string, string> > translations; translations.push_back(make_pair("tělo", "body")); translations.push_back(make_pair("odstavec", "p")); string line; string content; content = ""; while (getline(cin, line)) { content += line+'\n'; } for (vector<pair<string, string> >::iterator it = translations.begin() ; it != translations.end(); ++it) { size_t index = 0; while (true) { index = content.find(it->first, index); if (index == string::npos) { break; } content.replace(index, it->first.length(), it->second); index += it->second.length(); } } cout << content; } |
||
noko Profil |
Fisir:
„Co to tu prosímtě vyvádíš? Tazatel má znalosti na úrovni mateřské školy a ty mu tady radíš začít s Javou?“ Já si myslím že vůbec nehrozí že by se dominicek začal cokoliv učit |
||
dominicek Profil |
#23 · Zasláno: 7. 5. 2016, 19:22:52
Omlouvám se nechci programovací jazy, ale ZNAČKOVACÍ jazyk!...A nechci to pro sebe ale jen tak pro lidi kteří mají problém s AJ.
Jen chci vytvořit něco v čem to budu psát česky a pak mi to samo přeloží do AJ tedy napíšu třeba: <html> <hlavicka> <titulek>blabla</titulek> </hlavicka> <telo> blabla </telo> </html> Pak to dám přeložit a vznikne z toho tohle: <html> <head> <title>blabla</title> </head> <body> blabla </body> </html> Snad jsem to napsal srozumitelně! |
||
Bubák Profil |
#24 · Zasláno: 7. 5. 2016, 19:23:57
Keeehi:
„Pokud ti jde jen o prosté nahrazení textu textem, tak to zas tak složité není.“ Na to by stačilo i makro napsané v MS Wordu, případně script v PHP nebo JS. noko: „Já si myslím že vůbec nehrozí že by se dominicek začal cokoliv učit“ Hlavně, když dominicek ví, co chce: #1 „jak se dá vytvořit vlastní programovací jazyk“ #16 „to nemá cenu se s tebou bavit kdyz nechápeš co chci....Nechci vytvářet programovací jazyk“ |
||
dominicek Profil |
#25 · Zasláno: 7. 5. 2016, 19:28:45
Bubák:
> noko: > „Já si myslím že vůbec nehrozí že by se dominicek začal cokoliv učit“ > Hlavně, když dominicek ví, co chce: > #1 „jak se dá vytvořit vlastní programovací jazyk“ > #16 „to nemá cenu se s tebou bavit kdyz nechápeš co chci....Nechci vytvářet programovací jazyk“ Hele sorry spletl jsem se...ty ses nikdy nespletl?...nebo si myslíš že učeň spadl z nebe?...Zbytečně tady pridáváš odpovědí, které absolutně a bez významě nikam nevedou!....Tak pokud nemáš smyslu plnou odpověď, která mi pomůže, tak se nesnaž... |
||
lionel messi Profil |
#26 · Zasláno: 7. 5. 2016, 19:29:57
dominicek:
„Zbytečně tady pridáváš odpovědí, které absolutně a bez významě nikam nevedou!....Tak pokud nemáš smyslu plnou odpověď, která mi pomůže, tak se nesnaž...“ Akosi si zrejme v rozčúlení prehliadol prvú časť Bubákovho príspevku: „Na to by stačilo i makro napsané v MS Wordu, případně script v PHP nebo JS.“ |
||
dominicek Profil |
#27 · Zasláno: 7. 5. 2016, 19:32:00
lionel messi:
> Akosi si zrejme v rozčúlení prehliadol prvú časť Bubákovho príspevku: > > „Na to by stačilo i makro napsané v MS Wordu, případně script v PHP nebo JS.“ Jo promiň. Ale nevím co je to makro a jak s ním pracovat a JS neumím a php prakticky skoro vubec. teprve se učím html. |
||
noko Profil |
#28 · Zasláno: 7. 5. 2016, 19:39:25
|
||
dominicek Profil |
Prosím tě noko nepiš mi tady. Dík!
|
||
noko Profil |
#30 · Zasláno: 7. 5. 2016, 19:48:01
dominicek
Tak jo |
||
Téma pokračuje na další straně.
|
0