The course, taught by Alexander Okhotin, aimed to present formal grammars as a mathematical theory, but with an emphasis on their original application: specification of syntax and parsing. The list of topics presented in the course is given below.
All classes took place at the Department of Mathematics of the University of Turku. In period III (12.1.-), the lectures took place on Tuesdays at 10-12 in MS-3 and on Wednesdays at 14-16 in MS-0. There were demos on Thursdays at 14-16 in MS-4. In period IV (2.3.-) the lectures were on Tuesdays at 10-12 and on Fridays at 14-16, with demos on Thursdays at 14-16; all classes were in MS-0.
The first lecture gave a general outlook on formal languages and an overview of the course.
(1 1/2 lectures) Formal languages, operations on them. Finite automata and regular expressions. Simulation of nondeterminism. Equivalence of regular expressions and finite automata. Pumping lemma for regular languages.
Lecture notesTuring machines. Undecidable problems. Reductions. Complexity of computation. Computational complexity classes. Basic decision problems for finite automata and their complexity.
Lecture notesDefinitions by rewriting and by language equations. Examples. Parse trees. Ambiguity. Pumping lemma. Closure properties (union, intersection, star, complementation, intersection with regular languages, homomorphism, cyclic shift). Decision problems (emptiness, membership, universality, emptiness of intersection).
Lecture notes 4 (version 5 March)Semilinear sets and Parikh's theorem. Bounded context-free languages. Infinite hierarchy of intersections.
Lecture notes 5.Definitions by rewriting and by language equations. Examples: {wcw | w \in \{a,b\}^*}, {a4n | n >= 0}. Parse trees. Binary normal form. Cubic-time recognition.
Lecture notes 6 (version 24 March).Intuitive definition. Examples. Language equations of the general form. Semantics of a strongly unique solution. Well-founded semantics. Binary normal form. Cubic-time recognition.
Lecture notes 7 (version 24 March).Unambiguous context-free, conjunctive and Boolean grammars. Inherently ambiguous context-free languages. Parsing in time O(n2).
Lecture notes 8 (version 27 March).Boolean grammars in space O(n). Context-free grammars by circuits of depth O(log2n), and in space O((log2n)2). Boolean grammars in time o(n3): as fast as matrix multiplication.
Lecture notes 9 (version 12 April).Linear context-free, linear conjunctive and linear Boolean grammars. Trellis automata (one-way real-time cellular automata) and their basic properties. Equivalence of linear conjunctive and linear Boolean grammars to trellis automata. Examples. Limitations.
Lecture notes 10 (version 14 April).Recursive descent for context-free, conjunctive and Boolean grammars. Limitations of the recursive descent. Pushdown automata and LR parsing.
E-mail:
.