Interpreter za STUDIAC

Pred vami je v Javi napisan interpreter za STUDIAC. STUDIAC, ki ga je ustvaril prof. dr. Tomaž Pisanski, je izboljšana verzija CARDIAC-a.

Download

Navodila

Program poženemo iz ukazne vrstice:

java Studiac <strojni_kod>

<strojni_kod> je ime datoteke, ki vsebuje strojni kod za program, ki ga želimo pognati. Ta se naloži v pomnilnik programa, nato pa interpreter požene program. Ukazi se v pomnilnik nalagajo po vrsti, tj. prvi ukaz se naloži v celico 00, drugi v 01, itd.

V eni vrstici se lahko nahaja največ en ukaz. Ukazi so lahko zapisani v strojnem kodu, tj. število med 000 in 999 (vodilne ničle niso obvezne), ali pa v zbirniku in sicer kot dvočrkovna oznaka ukaza, ki ji sledi število med 00 in 99. Interpreter ne razlikuje malih in velikih črk.

Vse, kar sledi oznaki # do konca trenutne vrstice je komentar in ga interpreter ignorira. Prav tako se ignorira vrstica, ki vsebuje le komentar in pa popolnoma prazna vrstica (te ne povzročijo nobenega preskakovanja celic).

Vhodni trak je standardni vhod (stdin), izhodni trak pa standardni izhod (stdout). Opozorila in napake se izpisujejo na izhod za napake (stderr). Če želimo vhodni trak brati iz datoteke, lahko program pokličemo takole:

java Studiac <strojni_kod> < <vhodni_trak>

Izhodni trak lahko izpišemo v datoteko. Program moramo poklicati takole:

java Studiac <strojni_kod> > <izhodni_trak>

Lahko pa hkrati naredimo oboje (za vhodni in izhodni trak uporabimo datoteke):

java Studiac <strojni_kod> < <vhodni_trak> > <izhodni_trak>

Primeri programčkov

  • vsota.stu (prebere dve števili in izpiše vsoto)
  • vsota2.stu (program vsota, prepisan v zbirnik)
  • vecji.stu (prebere dve števili in izpiše večjega)
  • vecji2.stu (program vecji, prepisan v zbirnik)
  • potenca.stu (prebere števili a in b, ter izpiše ab)

Bug reports & feature requests

Če opazite kakšnega hrošča ali bi želeli kakšno izboljšavo programa, mi pišite na nino.basic@gmail.com.

Valid XHTML 1.0!

Valid CSS!

Use OpenOffice.org

Get Firefox!

Any Browser   This page was last modified on October 29, 2007.