Täisarvud võib defineerida järgmise lihtsa automaadiga ("tyhjusest" suubuv nool näitab algolekut, kahekordne ring - lõppolekut, lõppolekusse võib peale teksti lõpusümboli # viia ka ükskõik milline numbrist erinev sümbol, DIG on lühend sisendite valikule 0 | 1 | 2 | ... | 9)
Et täisarve tähistavast märgijadast (sisend) saada arvu, tuleb iga uue numbri lugemise järel lisada see juba loetud osale vastavale arvule, s.t. käivitada alamprotseduur NEXT_DIGIT, mis sooritab selle lisamise; kui kogu märgijada on loetud, tuleb saadud arv kuhugi salvestada; seda teeb alamprotseduur OUT_CONST, seega numbrite (märgi)jada arvuks teisendav teisendaja oleks (iga kaare peal on vastava ülemineku põhjustanud sisend ja käivitatav väljund)
ehk väljundtegevustega laiendatud regulaarse avaldisena
INT
(DIG NEXT_DIGIT)+ OUT_CONST
Sellele avaldisele vastav programmilõik (ADA-s) oleks (CH oli globaalne sümbolmuutuja, millele protseduur READ annab iga pöördumise ajal väärtuseks sisendteksti järgmise sümboli; protseduuri TÄISARV käivitamisel on CH väärtuseks arvu esimene number; CONST on täisarv (INTEGER)-tüüpi muutuja, millese kogutakse letud täisarvu väärtus, CH algväärtus on 1)
procedure TÄISARV is
FIRST_DIGIT(CH);READ
while CH in DIGIT
Loetud numbri (sümbol-tüüpi!) teisendab alamprotseduur NEXT_DIGIT täisarvuks (ADA tüübiteisendus ORD muudab CHARACTER-tüüpi numbri INTEGER-tüüpi numbriks) ja lisab täisarvu juba loetud osale:
procedure NEXT_DIGIT
Alamprotseduur FIRST_DIGIT algväärtustab (initsialiseerib) muutuja:
procedure NEXT_DIGIT