next_inactive up previous


SIMS HOWTO

1 Disclaimer

We are not liable for any damage caused by this program.

SIMS is NOT game The Sims(tm), and has nothing to do with it !

2 Installation

Installation procedure is detailled in README file.

In a terminal, cd to sims/src/, and type:

make, to compile sources with javac compiler. You can also compile with IBM's jikes compiler, if you have it installed, with make jinstall.

java sims/SimStart or make run to run the program.

3 Documentation

This file can be found in the program archive at /sims/README, or at http://jpnossa.free.fr/files/maitriseInfo/sims/help.html.

3.1 Main features

pour turing machines, reg machines

3.2 Machines syntax

A machine is a computer program, and thus has a langage to describe it. The files' extensions are ''tur'' for Turing machines, ''reg'' for register machines. You're not allowed to load a file without one of those extensions.

The file *.tur or *.reg is a raw text file, we recommand ISO-88591-1 encoding.

A machine file can be divided in two parts:

To get an example, open on of the machine in sims/src/sims/examples. The type integer is assumed as unsigned integer.

3.2.1 Turing machines syntax

3.2.1.1 Directives

string values must be surrounded by double quotes, ie : #alphabet = ''01''.

States of the machine are string with only alphanumeric characters.

3.2.1.2 Instructions

Each instruction is on one line.

If the machine has at least two tapes :

(state1,t_1,r_1,w_1,s_1,...,t_n,r_n,w_n,s_n,state2)

Means that if the current state is state1, and for any i from 1 to n, the character r_i is read on the tape t_i, then the machine writes the symbol w_i and does the move s_i. The moves may be specified by the letter L, N, or R, respectively for left, none, or right shift. The symbols r_i and w_i can be any symbol of the alphabet, including the blank character, represented by a blank space. The generic character * can be used to match any letter of the alphabet. If * is in an instruction as read and written symbol, the letter written on tape is the same as read.

If there is only one tape, you don't have to enter the tape number.

3.2.2 Register machines syntax

3.2.2.1 Directives

Register machines' directives are #vitesse, #stop, and #nom, with the same meaning than for Turing machines.

The type label is an alphanumeric string.

The only new directive is:

3.2.2.2 Instructions

3.3 Controlling SIMS

In both environments, controls are the buttons at the top of the editor, divided in two parts: general controls, and simulation controls (or commands, rightmost).

Simulation controls are the same for the two environments, here buttons specifications, from left to right:

Note:
a turbo mode is implemented, you reach it by decreasing the speed when a 1, the simulation is very fast but the visualisation is inactive.

3.3.1 Turing machines general controls

The general controls are the leftmost buttons panel in the editor. We described the six buttons from left to right:

3.3.2 Register machines general controls

There are eight buttons, at the left of the simulation control panel. From left to right:

3.3.3 Key bindings

3.3.3.1 MainWindow

ctrl-o: open an existing machine.

ctrl-q: quit the program.

ctrl-r: create a new register machine.

ctrl-t: create a new turing machine.

3.3.3.2 Machines environments

F5: compile the program.

alt-F2: stop/go control.

alt-F3: step by step control.

alt-F4: reset machine.

alt-: decrement speed.

at-+: increment speed.

ctrl-a: select all the text in edition.

ctrl-c: copy the current selection.

ctrl-n: create a new machine.

ctrl-o : open an existing machine.

ctrl-q: quit.

ctrl-v: paste the current selection.

ctrl-x: cut the current selection.

ctrl-y: repeat action.

ctrl-z: undo action.

4 Bugs

Please report bugs at jpnossa@free.fr.

About this document ...

SIMS HOWTO

This document was generated using the LaTeX2HTML translator Version 2002-2-1 (1.70)

Copyright © 1993, 1994, 1995, 1996, Nikos Drakos, Computer Based Learning Unit, University of Leeds.
Copyright © 1997, 1998, 1999, Ross Moore, Mathematics Department, Macquarie University, Sydney.

The command line arguments were:
latex2html -no_subdir -split 0 -show_section_numbers /tmp/lyx_tmpdir2883KUiSOk/lyx_tmpbuf0/help.tex

The translation was initiated by Aumasson Jean-Philippe on 2005-01-11


next_inactive up previous
Aumasson Jean-Philippe 2005-01-11