Thompson's algorithm

E162099

Thompson's algorithm is a classic computer science method for converting regular expressions into nondeterministic finite automata (NFAs), widely used in pattern matching and lexical analysis.

All labels observed (5)

How this entity was disambiguated

Statements (47)

Predicate Object
instanceOf algorithm
automata theory technique
construction algorithm
abbreviation Thompson's algorithm self-linksurface differs
surface form: Thompson NFA construction
advantage easy to implement
guarantees NFA size linear in regex length
simple and mechanical construction rules
alsoKnownAs Thompson's algorithm
surface form: Thompson construction
basedOn regular expressions
complexityClass O(n) in size of regular expression
constructs single accept state NFA
single start state NFA
creator Ken Thompson
field automata theory
compiler construction
computer science
formal language theory
lexical analysis
pattern matching
formalizes semantics of regular expressions via automata
guarantees language equivalence between regex and constructed NFA
inputType regular expression
limitation produces NFAs with epsilon transitions
outputType NFA
produces nondeterministic finite automata
property linear in the length of the regular expression
systematic construction using small NFA fragments
publishedIn Communications of the ACM
relatedTo Glushkov construction
position automaton
powerset construction
subset construction algorithm
supportsOperator Kleene star
concatenation
optional operator
parentheses grouping
union
taughtIn compiler design courses
undergraduate automata theory courses
typicalUse foundation for efficient regex matching implementations
intermediate step before DFA construction
usedIn compiler front-ends
lexical analyzers
pattern matching libraries
regular expression engines
usesTransitionType epsilon transitions
yearIntroduced 1968

How these facts were elicited

Referenced by (5)

Full triples — surface form annotated when it differs from this entity's canonical label.

Ken Thompson knownFor Thompson's algorithm
this entity surface form: Thompson's construction for converting regular expressions to NFAs
Ken Thompson developed Thompson's algorithm
Ken Thompson developed Thompson's algorithm
this entity surface form: Thompson's construction
Thompson's algorithm abbreviation Thompson's algorithm self-linksurface differs
this entity surface form: Thompson NFA construction
Thompson's algorithm alsoKnownAs Thompson's algorithm
this entity surface form: Thompson construction