Brief history of compiler Programs were developed to automate the complier development for parsing Parser generators such as Yacc by Steve Johnson in 1975 for the Unix system Scanner generators, such as Lex by Mike Lesk for Unix system about same time
Brief History of Compiler • Programs were developed to automate the complier development for parsing – Parser generators, • such as Yacc by Steve Johnson in 1975 for the Unix system – Scanner generators, • such as Lex by Mike Lesk for Unix system about same time
Brief history of compiler Projects focused on automating the generation of other parts of a compiler Code generation was undertaken during the late 1970s and early 1980S Less success due to our less than perfect understanding of them
Brief History of Compiler • Projects focused on automating the generation of other parts of a compiler – Code generation was undertaken during the late 1970s and early 1980s – Less success due to our less than perfect understanding of them
Brief history of compiler Recent advances in compiler design More sophisticated algorithms for inferring and/or simplifying the information contained in program, such as the unification algorithm of Hindley-Milner type checKing Window-based Interactive Development Environment IDE, that includes editors, linkers, debuggers, and project managers However, the basic of compiler design have not changed much in the last 20 years BACK
Brief History of Compiler • Recent advances in compiler design – More sophisticated algorithms for inferring and/or simplifying the information contained in program, • such as the unification algorithm of Hindley-Milner type checking – Window-based Interactive Development Environment, • IDE, that includes editors, linkers, debuggers, and project managers. – However, the basic of compiler design have not changed much in the last 20 years. BACK
1.2 Programs related to Compiler
1.2 Programs related to Compiler
Interpreters Execute the source program immediately rather than generating object code Examples: BASIC, LISP, used often in educational or development situations Speed of execution is slower than compiled code by a factor of 10 or more Share many of their operations with compilers
Interpreters • Execute the source program immediately rather than generating object code • Examples: BASIC, LISP, used often in educational or development situations • Speed of execution is slower than compiled code by a factor of 10 or more • Share many of their operations with compilers