Jednostavni interpreter u C++

poruka: 5
|
čitano: 835
|
moderatori: XXX-Man, vincimus
1
+/- sve poruke
ravni prikaz
starije poruke gore
15 godina
neaktivan
offline
Jednostavni interpreter u C++

Pozdrav, zanima me da li ima netko da mi najjednostavnije moguće objasni kako napisati neki jednostavni interpreter u C++ jeziku?

Nesto tipa kao QBasic, da ja unosim naredbe ili neku petlju stavim, a moj program to izvrsi?

 

Gledao sam po tutorialima, ali se ne snalazim baš, pa ako bi mi netko mogao objasniti (ne trebam kod) nego ne znam ni kako bih počeo i

kakav algoritam bi zapravo trebao koristiti.

 

Znači nešto tipa ovako:

 

prvo bi zapravo mozda najbolje bilo ovako nesto da uopce skuzim kako to radi, znaci unesem u konzolu "jedan","dva","tri"

i da mi ispise 123 i ostale varijacije na to, ovisno o mojem unosu, e sad mislim da bi bilo glupo koristiti 

if-else konstrukciju za to, switch također ništa (kad ne radi sa stringovima), pa kako onda?

Poruka je uređivana zadnji put ned 25.5.2014 18:36 (NiGHT_RiDER92).
Moj PC  
0 0 hvala 0
14 godina
offline
Jednostavni interpreter u C++

Nisam siguran da znam šta točno želiš, ali izgleda mi kao da želiš neku svoju sintaksu pisati ? Svoj programski jezik nešto tako ?

 

Evo jedan link :D

 

https://github.com/lhartikk/ArnoldC   <- zanimljivo :)

 
2 0 hvala 1
14 godina
neaktivan
offline
Jednostavni interpreter u C++

Uglavnom, osnova algoritma je slijedeća:
pregledaj određeni niz znakova (zavisno od sintakse) i ako taj niz sadrži unaprijed definirani niz znakova
tj. "komandu" , izvrši određenu radnju.


Sad, zavisi na koji način se vrši unos, upisuje li se direktno, izvršava li se unaprijed zapisani niz
naredbi te kako/preko čega se izvršavaju radnje i dr.

 

mali info:

 

http://en.wikipedia.org/wiki/Interpreter_%28computing%29

 

http://en.wikipedia.org/wiki/Parsing

 

 

Poruka je uređivana zadnji put pon 26.5.2014 15:14 (Hipnos).
 
1 0 hvala 1
13 godina
neaktivan
offline
Re: Jednostavni interpreter u C++

Napraviš leksički analizator koji source programa pretvara u niz tokena (enum MyTokens {JEDAN, DVA, TRI}). Npr. ulaz s konzole jedan, dva, tri, dva se pretvara u niz {JEDAN, DVA, TRI, DVA}, a pri prolazu kroz ovakav niz možeš koristiti switch.

15 godina
neaktivan
offline
Jednostavni interpreter u C++

Budem to malo proučio, samo nešto isprobavam, ne radim ništa konkretno, ali znanja nikad dosta :D Zahvaljujem se, ako nešto zapne se javim.

Moj PC  
0 0 hvala 0
1
Nova poruka
E-mail:
Lozinka:
 
vrh stranice