[Home]
Table of contents
The pages are broadly classified into a number of groups. The
"Introduction" group naturally comes first, and is a prerequisite
for the other groups. The other groups may be read in any order.
Introduction
Intro 1
Introduction to the concept using interactive experiments. If
you do not know anything about finite automata, or do not find them
interesting, then do please start here.
Intro 2
Formal definitions. In this page we present some standard
terminology that will help you to tap other resources on finite
automata.
Intro 3
Application in lexical analysis. This is a simple yet very
important way to make finite automata do something for us.
Intro 4
More lexical analysis. Finite automata as recognizers.
Intro 5
Handling "infinity" with a finite automaton.
DFA in compilers
This is a somewhat complicated topic.
Comp 1
Here we start the discussion of a variant of finite automata,
called Push Down Automata. These "intelligent" machines form the
core of modern compilers. This page is interactive, and uses
javascript.
Comp 2
This continues the discussion of the last page.
Comp 3
More on pushdown automata.
DFA in hardware
Hard 1
Finite automata in hardware. Electrical engineers have a
nice way to use a special kind of finite automata. Indeed, by the
term "finite automata" they often mean <i>only</i> this special
kind! Learn about them in this page. This page has interactive
Flash animations.
Hard 2
This page continues the discussion of finite automata in
electronics. Here we treat a real life example of a microcontroller interfacing a caller
id decoder.
Hard 3
This page gives a nifty trick of implementing such state machines in
C using XML and XSL. Adobe Flex uses a very similar trick for
creating Flash applications.
Hard 4
Some examples motivated by a mobile phone.