rmachine

Software kuvakaappaus:
rmachine
Ohjelmiston tiedot:
Versio: 0.12
Lähetyksen päivämäärä: 3 Jun 15
Kehittäjä: Michael Vogt
Lupa: Vapaa
Suosio: 36

Rating: 1.0/5 (Total Votes: 1)

rmachine on rekisteri kone simulaattori (kompleksisuusteoria versio), ohjelmoitu Python, jossa moduulia voidaan käyttää ohjelmia ja (PyQt4) GUI.
Kone ("RAM") on yhtä kuin Turingin koneilla sen computional valtaa. Se on teoriassa rajaton muisti (mutta on rajoitettu käytännössä tietokoneen muistiin).
Tämä on simulaattorin rekisterin koneet (kompleksisuusteoria versio). Seuraavassa lyhyt esittely.
Kone ("RAM") on yhtä kuin Turingin koneilla sen computional valtaa. Se on teoriassa rajaton muisti (käytännössä rajoitettu tietokoneesi muistin). Muistin solut ("rekisterit") voi tallentaa kokonaislukuja> = 0 pituudesta. Sano 5th rekisteri sisältää numeron 42. Sinun kirjoittaa sen c (5) = 42. c (0) kutsutaan myös "kokoajan", ja on tärkeä rooli, kuten näet myöhemmin.
RAM on myös ohjelma laskuri b, Alkukui- asetettu 1 ja pohjimmiltaan edustaa seuraavalle riville suoritettavaksi.
Rakenne tyypillinen ohjelma näyttää tältä:
  # Comments täältä
  # Lisää kommentteja
  INPUT 4 6 8 9
  (Ohjeet täältä)
  END
"Tulo" linjaa pitäisi löytyä heti kommentteja. Tulo sijoitetaan c (1), C (2) jne. Tässä esimerkissä, c (1) = 4, c (2) = 6, c (3) = 8, c (4) = 9.
Nyt kaikki, että tässä on ohje asetettu. Ensimmäinen rivi on itse käskystä, 2. rivi selittää, mitä se tekee.
-
LOAD i
c (0): = c (i), b: = b + 1
-
CLOAD i
c (0): = i, b: = b + 1
-
INDLOAD i
c (0): = c (c (i)), b: = b + 1
-
KAUPPA i
c (i): = c (0), b: = b + 1
-
INDSTORE i
c (c (i)): = c (0), b: = b + 1
-
ADD i
c (0): = c (0) + c (i), b: = b + 1
-
CADD i
c (0): = c (0) + i, b: = b + 1
-
INDADD i
c (0): = c (0) + c (c (i)), b: = b + 1
-
SUB i
c (0): = max (c (0) - c (i), 0), b: = b + 1
-
CSUB i
c (0): = max (c (0) - i, 0), b: = b + 1
-
INDSUB i
c (0): = max (c (0) - c (c (i)), 0), b: = b + 1
-
MUL i
c (0): = c (0) * c (i), b: = b + 1
-
CMUL i
c (0): = c (0) * i, b: = b + 1
-
INDMUL i
c (0): = c (0) * c (c (i)), b: = b + 1
-
DIV i
c (0): = c (0) / c (i), b: = b + 1
Huomautus: desimaaleja leikkautuu
-
CDIV i
c (0): = c (0) / i, b: = b + 1
Huomautus: desimaaleja leikkautuu
-
INDDIV i
c (0): = c (0) / C (c (i)), b: = b + 1
Huomautus: desimaaleja leikkautuu
-
GOTO i
b: = i
-
IF X l GOTO i
X voi olla yksi niistä:
b: = i jos (c (0) X l) on tosi
(More epävirallisesti, "JOS <5 GOTO 10" asettaisivat b = 10, jos c (0)

vaatimukset

  • python
  • PyQt4

Kommentit rmachine

Kommentteja ei löytynyt
Lisää kommentti
Ota kuvia!