• Strona główna
  • Makler
  • Nauka
  • O autorze
  • To czytam
  • West Highland Way
Niebieski Pomarańczowy Zielony Różowy Purpurowy

Symulator maszyny Turinga

Napisał Newton, a był to Maj 16, 2008 roku.

Możesz dodawać komentarze. Możesz także pozostawić trackback ze swojej strony.
maj 16

Ta strona zawiera moją pracę poświęconą opracowaniu symulatora maszyny Turinga przeznaczonego dla maszyny RAM. W pracy ukazuję najpierw algorytm zdolny symulowac maszynę Turinga w języku C, następnie algorytm ten przenoszę na maszynę wyposażoną w rozkazy adresowania pośredniego, by w końcu zaimplementować go na „zwykłej” (tj. wyposażonej jedynie w adresowanie bezpośrednie) maszynie RAM.

Praca i związane z nią pliki:

  • symulator.odt – wyżej wspomniana praca,
  • symulator.pdf – ta sama praca w formacie PDF,
  • simulator.c – prosty symulator napisany w C, wraz z przykładowym programem dla maszyny Turinga (dodawanie jedynki do liczby zapisanej binarnie). Ten przykładowy program dla maszyny Turinga pojawia się także dalej – w implementacjach symulatora dla maszyny RAM z adresowaniem pośrednim i bezpośrednim.

Implementacja z adresowaniem pośrednim:

  • listing.txt – symulator maszyny Turinga dla maszyny RAM z adresowaniem pośrednim. Można go przetestować na JRAMachine;
  • memory_dump – przykładowy program dla powyższej implementacji. W komórkach 90 i dalej znajduje się liczba zapisana binarnie (0 jest zapisane jako 1, 1 jako 2, zaś blanki jako 0). Po uruchomieniu program dodaje do tej liczby 1 i kończy działanie.

Implementacja z adresowaniem bezpośrednim:

  • listing_template.txt – schemat programu symulatora maszyny Turinga dla „zwykłej” maszyny RAM,
  • precompiler.rb – prekompilator, którym można przetworzyć powyższy schemat na działający program,
  • direct.txt – wygenerowany powyższym skryptem symulator maszyny Turinga:

    $ ./precompiler.rb PROGRAM=25 MAX_PROGRAM_END=95 TAPE=95 \
    TAPE_END=110 listing_template.txt > direct.txt

  • memory_dump – dane testowe dla direct.txt. Działanie takie jak powyżej, liczba na której odbywają się operacje jest pod adresem 95.

Linki:

  • JRAMachine – symulator maszyny RAM, obsługujący adresowanie pośrednie napisany w Javie,
  • Turing – symulator maszyny Turinga napisany w Ruby, z interfejsem dostępnym przez WWW.

Zostaw odpowiedź

Blog Newtona

Nazywam się Newton. Teraz będę kłamał.

  • Blip
  • litrgy.com
  • Archiwa
    • Sierpień 2010
    • Lipiec 2010
    • Maj 2010
    • Kwiecień 2010
    • Luty 2010
    • Grudzień 2009
    • Listopad 2009
    • Październik 2009
    • Wrzesień 2009
    • Sierpień 2009
    • Lipiec 2009
    • Czerwiec 2009
    • Maj 2009
    • Kwiecień 2009
    • Marzec 2009
    • Luty 2009
    • Styczeń 2009
    • Grudzień 2008
    • Listopad 2008
    • Październik 2008
    • Wrzesień 2008
    • Sierpień 2008
    • Lipiec 2008
    • Czerwiec 2008
    • Maj 2008
    • Kwiecień 2008
    • Marzec 2008
    • Luty 2008
    • Styczeń 2008
    • Grudzień 2007
    • Listopad 2007
    • Październik 2007
    • Wrzesień 2007
    • Sierpień 2007
    • Maj 2007
    • Kwiecień 2007
    • Marzec 2007
    • Luty 2007
  • Wyszukiwanie






  • Strona główna
  • Makler
  • Nauka
  • O autorze
  • To czytam
  • West Highland Way

© Copyright Blog Newtona. All rights reserved.
Designed by FTL Wordpress Themes brought to you by Smashing Magazine

Do góry!