Új hozzászólás Aktív témák
-
robohw
aktív tag
Az elmúlt hetekben elkezdtem fejleszteni egy minimalista programozási nyelvet. A nyelv munkacíme egyébként JIZ (jump if zero).
Ez egy mindössze nyolc utasításra épülő (Brainf*ck impulzus) gépközeli nyelv. A programnyelvet kiegészíti egy hardver emuláció, un. virtuális gép is, amelyen a megírt és lefordított programokat futtatni lehet. Maga a program egy értelmező, fordító és a VM (virtuális gép) all in one, egy .exe-be ágyazva.
A progi beolvassa a forrásfájlt, majd fordítás után lefuttatja azt. A kimenet egy másik file lesz, amely lépésről lépésre tartalmazza a program futása során keletkezett memória és regiszter állapotokat, valahogy így:00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
00 02 05 00 00 00 00 00 00 AD 00 AD 01 A1 3F EA 3E
10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ACCU: 02 IP: 08 Instr: ADD Output: 00000000
---------------------------------------------------| 1
* 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
00 02 05 00 00 00 00 00 00 AD 00 AD 01 A1 3F EA 3E
10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ACCU: 07 IP: 0A Instr: ADD Output: 00000000
---------------------------------------------------| 2
* 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
00 02 05 00 00 00 00 00 00 AD 00 AD 01 A1 3F EA 3E
10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 07
ACCU: 07 IP: 0C Instr: STA Output: 00000111
---------------------------------------------------| 3
* 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
00 02 05 00 00 00 00 00 00 AD 00 AD 01 A1 3F EA 3E
10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 07
ACCU: 07 IP: 0E Instr: JMP Output: 00000111
---------------------------------------------------| 4
* 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
00 02 05 00 00 00 00 00 00 AD 00 AD 01 A1 3F EA 3E
10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 07
ACCU: 07 IP: 3E Instr: HLT Output: 00000111
---------------------------------------------------| 5A kérdésem az volna, hogy akadna-e érdeklődő a dologra, mert ha igen, akkor nem hagynám abba a fejlesztést. Én a magam részéről a dologgal elértem a célomat, ami egyébként az volt, hogy egy 8 utasításos programnyelvet alkossak, amelyben turing-teljes programok írhatók. Azonban a fejlesztés végén vettem észre - nem kifejezetten egyedül -, hogy a redukált utasításkészlet, a script jelleg és a VM egyszerűsége okán alkalmas lehet kezdők számára, egyfajta oktatási segédeszközként.
Szóval?
[ Szerkesztve ]
My own programming language: http://www.robomax.online
-
robohw
aktív tag
Készítettem hozzá egy tutorialt, ami pdf formában letölthető, példaprogramokkal együtt innen:
My own programming language: http://www.robomax.online
-
hiperFizikus
aktív tag
Miből gondolod, hogy a kezdők élvezni fogják az agynyuvasztó gépi kódodat?
Inkább arról kellene értekeznünk, hogy egy magasszintű programnyelvnek milyen elemeket kellene tartalmaznia! - pl. modulárisnak kellene lennie.A gázt is és a féket is egyszerre nyomni nem menő dolog !
-
#25954560
törölt tag
válasz hiperFizikus #3 üzenetére
nem feltetlen az elvezetrol szol
vannak a programozasnak olyan teruletei, ahol hasznos lenne tudni, hogy mi is tortenik amikor futtatsz egy kodot. minel magasabb szintu a nyelv, annal produktivabb lehet, de annal kevesbe optimalizalhato a programozo altal es annal jobban el van rejtve a hardver.
na ebbe a resbe szerintem ez pont jo lehet. -
robohw
aktív tag
-
robohw
aktív tag
My own programming language: http://www.robomax.online
-
robohw
aktív tag
A nyelv immár 10 utasítást ismer.
Részletek később...My own programming language: http://www.robomax.online
-
hiperFizikus
aktív tag
Szia!
Jól van, igazad van, de egy 50000 db soros programot összehozni gépi kódban legalábbis drága lenne, csak szoftvercégeknek jó. De mivel ez a topik nem csak egy féle új programnyelvre szorítkozik, ezért párhuzamosan megbeszélhetjük ezt a gépi kódosat is és a valamilyen új magas szintű programnyelvet is, hisszen mind a két téma érdekes.Szerintem a magasszintű programnyelvnek modulárisnak kell lennie és tartalmazhat Goto-t is.
A gázt is és a féket is egyszerre nyomni nem menő dolog !
-
hiperFizikus
aktív tag
Ez egy elhagyott topik 2018-09-16 01:51:10 , nem találtam más alkalmas topikot és új topikot nyitni neki korai, ezért bátorkodom itt megkérdezni :
Fejlesztek egy új program nyelvet, ami előrehaladott állapotban van . Biztosan bennetek is felmerült valamikor, hogy új program nyelvet csináltok, ezért kíváncsi lennék a véleményetekre ?
Most abban az állapotban van, hogy titkos, majdnem készen van, terjedelmes, valakinek le kellene fordítania üzleti változatra, szerintetek vásárolnák ?
A gázt is és a féket is egyszerre nyomni nem menő dolog !
-
Hiftu
senior tag
válasz hiperFizikus #10 üzenetére
Nem.
Kismillió programnyelv közül lehet választani.
Miért adna bárki is pénzt egy újra, amihez fejlesztőt sem lehet találni.
Még a multik is a fejlesztés során szabadszoftver irányába mennek (abból használnak, de nem olyat készítenek), mert ott több ingyenes programot tudnak felmarkolni.[ Szerkesztve ]
Tessék mondani, lehet itt hazudni? - Kaszt: Decker, Faj: Troll, Működési Terület: Prohardver
Új hozzászólás Aktív témák
- IPhone 12 Pro 128GB gyári független 2026. 01.18. Telekom garancia akku 100%
- HUAWEI Band 8 aktivitásmérő (fekete), keveset használt, karcmentes kijelző
- 96GB (2x48GB) Crucial Pro DDR5 kit/ új, bontatlan/
- ASUS TUF A17 - 17" FHD IPS, R7-4800H, RTX 3050-4, 16 DD4 / 512 NVMe, FÉM HÁZ +számla és garancia
- IPhone 15 Pro 128GB gyári független 2025.04.03. Apple garancia