Implementing the Front-End of an SDL Compiler (1998)
AUTHORS:
Mäkelä Marko
PDF:
pdf/sdlc.pdf
@mastersthesis{ Makela:MSc, author = {M{\"a}kel{\"a}, Marko}, ps = "sdlc.ps", school = "Helsinki University of Technology, Department of Computer Science and Engineering", title = "Implementing the Front-End of an {SDL} Compiler", abstract = "Errors in large distributed systems are practically impossible to find with simple reasoning or testing, and they can have unexpected consequences that cost lots of money. Traditionally formal methods, which will find even the most obscure errors, have been based on manually derived models of the systems to be analyzed. Many industrial designs have not been formally verified, because the effort of modeling them has been considered too high. Compilers made a revolution in computing by allowing the use of high-level programming languages. Now compiler technology can be applied to make formal methods more accessible for system designers. This work describes the front-end of an SDL compiler, which parses specifications written in SDL and stores them in a syntax tree and performs semantic checks. With the exception of macros, the parser recognizes the whole SDL grammar defined in 1996. Converting the grammar to the LALR(1) form required by the parser generator tool has involved numerous modifications to the grammar and to the lexical analyzer. Special attention has been paid to error tolerance and recovery and to meaningful error reporting. Once finished, the compiler will translate SDL specifications to high-level Petri Net models that can be verified using formal methods.", year = "1998", month = "December", flags = "public copy", address = "Espoo, Finland", keywords = "lexical analysis, parsing, syntax tree, semantic analysis, compiling, SDL, formal methods, reachability analysis", pdf = "sdlc.pdf" }