You are on page 1of 2

Reynaldo M. Supan Theory of Automata The Automata is the study of abstract computing devices, or machines.

BSCS 2-1N

Automata theory is the study of abstract computational devices Abstract devices are (simplified) models of real computations Computations happen everywhere: On your laptop, on your cell phone, in nature, Finite automata We will understand what kinds of things a device with finite memory can do, and what it cannot do Introduce simulation: the ability of one device to imitate another device Introduce non-determinism: the ability of a device to make arbitrary choices Push-down automata These devices are related to grammars, which describe the structure of programming (and natural) languages Deterministic Finite Automata A deterministic finite automaton (DFA) is a 5-tuple (Q, S, d, q0, F) where Q is a finite set of states S is an alphabet d: Q S Q is a transition function q0 Q is the initial state F Q is a set of accepting states (or final states). In diagrams, the accepting states will be denoted by double loops

A regular expression (or regexp, or pattern, or RE) is a text string that describes some (mathematical) set of strings. A RE r matches a string s if s is in the set of strings described by r Using a RE library, you basically can:

see if a string matches a specified pattern as a whole, and search within a string for a substring matching as a specified pattern.

We have all used simplified forms of regular expressions like the file search patterns used by MS DOS, for example, dir *.doc. The use of regular expressions in computer science was made popular by a Unix based editor, 'ed'. However, Perl was the first language that provided integrated support for REs. They are now supported by almost all languages - JavaScript, Java, VB, C++ and C# either through language support or third party libraries. There are many Java regular expression libraries available - GNU Regexp for Java, Jakarta Regexp and Jakarta ORO to name a few. Support for Regular Expressions is also available in Java 1.4. Regular Expressions were originally studied as a part of Theory of Computation. Regular Expressions have their own notation. Characters are single letters for example a, (single blank space), 1 and - (hyphen). Operators are entries in a RE that match one or more characters. You compose REs by combining operators.
Symbol Stands for...
x* x + xy
+

any one character from the alphabet (actually represents a set of all characters in the language) zero or more repetition of x (where x is one character from ) once or more repetition of x (where x is one character from ) set union (a+b, means character present either in set a or set b) set difference (a-b means character thats present in a and not present in b) (juxtaposition) character x followed by character y

Why do we need to study theory of Automata?

To understand how mechanical things work by the use of the theory that inside the automata.

You might also like