Hirdetés
Ú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?
Új hozzászólás Aktív témák
- Panasonic HC-V770 FUL HD kamera
- Apple iPhone 13 256GB / Kártyafüggetlen / 12Hó Garancia / 100% Akku
- Bomba Ár! Lenovo ThinkPad E14 G2 AMD - Ryzen 5 I 8GB I 256SSD I 14" FHD I HDMI I W11 I Gari
- Xiaomi Redmi Note 13 256GB, Kártyafüggetlen, 1 Év Garanciával
- 2db Apple Lightning - jack átalakító eladó egyben 1999 Ft
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest


