| Objectives | Teaching fundamental concepts and results on the formal languages (especially those of type 2 and 3), finite automata and pushdown automata.
Building a lexical analyser using regular expressions and a scanner generator e.g. Lex
Building a sintactic analyser for an context free grammar using a parser generator e.g. Yacc
Using Lex - Yacc for designing a interpreter / compiler for a programming language |
| General thematics | Languages and grammars, grammars classification (Chomsky hierarchy), Regular grammars and languages, Finite automata and accepted languages, Equivalence of deterministic models with the nondeterministic ones and witth regular grammars, Context free grammars and languages, Derivations in context free grammars, Ambiguity, Recognition of context free languages, Removing epsilon rules, Removing rules of the form A->B, Chomsky normal form, Pushdown automata, Programming languages: design, implementation, Lexical analysis, Syntax analysis, Semantic analysis, Top down (predictive) syntax analysis, Bottom up (shift reduce) syntax analysis, Recursive descent syntax analysis, LL Syntax Analysis, LR Syntax Analysis, Translation to intermediate code. |
| Seminary / Laboratory thematics | Examples of languages and grammars, Deterministic finite automata, Nondeterministic automata, Epsilon-transition automata; example, Regular expressions, examples with reference to lexical units of programming languages, Context free grammars independent of, the derivation of trees, eliminating unnecessary symbols, eliminating rules of erasing , Redenumirilor, Chomsky normal form, with word recognition algorithm CYK, Automatic Pushdown; examples, lexical analyzer's manual, obtained with an analyzer tool-LEX, analyze using tools YACC type, Interpreter built with Lex and YACC. |
| Teaching methods | Slides with course items; seminar themes; projects’ issues; electronic version of the course; main readings will be found on the web page |
| Bibliography |
- Grigoras, Gh. Constructia compilatoarelor - Algoritmi fundamentali, Ed. Universitatii Al. I. "Cuza Iasi", 274 pg., 2005.
- Jucan Toader - Limbaje formale şi automate, Editura Matrix Rom, Bucureşti, 1999, 162 p.
- Jucan Toader, Ştefan Andrei – Limbaje formale şi teoria automatelor. Teorie şi practică, Editura Universităţii “Al. I. Cuza”, Iaşi, 2002, 327p.
- Stoughton Alley, Formal Language Theory, Kansas State University, Draft of Fall 2007.
- Yehezkael R.B., Course notes on Formal Languages and Compilers, Jerusalem College of Technology, December 2004.
- Manual LEX, Manual FLEX, Manual YACC, Manual Bison, Compiler Construction using Flex and Bison
|