<état courant> <symbole lu> <nouveau symbole> <direction> <nouvel état>
' (5 valeurs, séparées par un espace). Par exemple, 'q0 1 1 d q0
'.<état courant>
et <nouvel état>
), e.g. 10, a, q1, état1
. Les étiquettes d'états sont sensibles aux majuscules. Par
défaut, l'état initial est q0
.<symbole lu>
et <nouveau symbole>
), ou le caractère spécial '_
' pour représenter le symbole blanc (espace,
et pas '#
). Les symboles lus et écrits sont sensibles aux majuscules.<direction>
doit être 'g
', 'd
' ou '*
', qui correspondent à la consigne 'aller à gauche' (gauche = 'g
'), 'aller à droite' (droite = 'd
') ou 'ne pas
bouger', respectivement.;
' est considéré comme un commentaire, et est ignoré. C'est une bonne idée de commenter votre code !stop
', e.g., stop-fin, stop-accepte
etc. Les états finaux sont considérés acceptants, pour un état final refusant, il faut
*
' peut être utilisé comme un masque (wildcard) pour le <symbole courant>
ou l'<état courant>
, dans ce cas '*
' signifie qu'il accepte n'importe quel symbole, ou n'importe quel état. Par exemple 'q1 * _ g q1
' peut correspondre à un effacement de n'importe quel symbole, ou '* X 1 d *
' une substitution forcée de 'X
' en '1
'.*
' peut aussi être utilisé comme <nouveau symbole>
ou <nouvel état>
, dans ce cas '*
' signifie "aucun changement". Cela permet d'éviter d'écrire de nombreuses
transitions toutes similaires. Par exemple '1 * * d 1
' plutôt que '1 a a d 1
', '1 b b d 1
', pour chaque lettre 'a
', 'b
'.!
' peut être utilisé à la fin d'une ligne, pour mettre en place un point d'arrêt, e.g., '1 a b d 2 !
'. La machine se mettre automatiquement en pause à chaque utilisation de cette transition.*
' n'importe où dans le mot d'entrée (e.g., w = 111_*11
permet de commencer au début du 11
).