Předmět | Programing Languages and Compilers (PJPa-1) | |||||
---|---|---|---|---|---|---|
Garantuje | Katedra technických studií (KTS) | |||||
Garant | doc. Dr. Ing. Jan Voráček, CSc. ( voracek@vspj.cz ) | |||||
Jazyk | anglicky | |||||
Počet kreditů | 5 | |||||
Ekvivalent |
Prezenční studium | |
---|---|
Přednáška | 2 h |
Cvičení | 2 h |
Kombinované studium | |
Tutoriál / přednáška | 6 h |
Cvičení | 8 h |
Studijní plán | Typ | Sem. | Kred. | Ukon. |
---|---|---|---|---|
Aplikovaná informatika - kombi, platný od ZS 2024/2025 | P | 4 | 5 kr. | Z,ZK |
Aplikovaná informatika - platný od ZS 2024/2025 | P | 4 | 5 kr. | Z,ZK |
The course includes a survey of general features of programming languages and explanation of fundamental methods of their implementation. Design and program implementation of individual parts of a compiler are founded with fundamental theory of grammars and automatons. To illustrate the methods, a simple programming language is introduced and its compiler is designed and implemented. Next, fundamental methods of data types implementation, subprograms and data abstraction implementation are taught.
Knowledge: The student knows the basics of formal languages theory and can distinguish among various ways of their formal representation. They work fluently with regular expressions and grammars, finite and pushdown automatons and context-free grammars. Within these they can implement fundamental ways of mutual conversions and canonisations.
Skills: Using standard development tools, the student je is able to program lexical and syntactic analyser, include semantic rules to grammars and generate output code in accordance with goal specification.
Competences: The student can formalize efficiently and then automatize standard types of interactions with information technology. They are able to bring their outputs to the form of a goal-oriented compiler or generally interpretable language. Besides programming or scripting languages extending the possibilities of any SW products, they can automatize also processes of SW development in this way, e.g. formal modelling of user requirements or automatized verification and testing of developed program modules.