Course title
P26805003
Programming Language Processor

suzuki tetsuya Click to show questionnaire result at 2018
Course description
Programming language processors are indispensable tools in software development. This course will discuss fundamental theories and implementation methods of them.
Purpose of class
The purpose of this class is to understand fundamental theories and implementation methods of programming language processors.
Goals and objectives
  1. Understand fundamental theories of programming language processing (regular expression, context-free grammar, LL(1) grammar, syntax diagram, non-deterministic finite automata, deterministic finite automata, recursive decent parser)
  2. Understand how to translate from high level programming languages to low level languages, and the mechanism of virtual machines (stack machine)
  3. Understand how to implement a simple compiler
Language
English
Class schedule

Class schedule HW assignments (Including preparation and review of the class.) Amount of Time Required
1. Introduction to programming language processors
A simple compiler
Review the lesson 190minutes
2. Syntax and language Review the lesson 190minutes
3. Programming exercise (1) Review the lesson 190minutes
4. Lexical analysis (1) Review the lesson 190minutes
5. Lexical analysis (2) Review the lesson 190minutes
6. Lexical analysis (3)
Programming exercise (2)
Review the lesson 190minutes
7. Syntax analysis (1) Review the lesson 190minutes
8. Syntax analysis (2) Review the lesson 190minutes
9. Syntax analysis (3)
Programming exercise (3)
Review the lesson 190minutes
10. Semantic analysis
Error handling
Virtual machine and interpreter (1)
Review the lesson 190minutes
11. Virtual machine and interpreter (2) Review the lesson 190minutes
12. Programming exercise (4) Review the lesson 190minutes
13. Programming exercise Review the lesson 190minutes
14. Optimization Review the lesson 190minutes
Total. - - 2660minutes
Relationship between 'Goals and Objectives' and 'Course Outcomes'

Report Total.
1. 35% 35%
2. 30% 30%
3. 35% 35%
Total. 100% -
Evaluation method and criteria
Students will be evaluated based on reports and mini tests.
Textbooks and reference materials
Materials will be provided.
Prerequisites
Basic C programming skills, and basic knowledge of data structures and algorithm
Office hours and How to contact professors for questions
  • Lunch break on Wednesday
Regionally-oriented
Non-regionally-oriented course
Development of social and professional independence
  • Course that cultivates an ability for utilizing knowledge
Active-learning course
More than one class is interactive
Course by professor with work experience
Work experience Work experience and relevance to the course content if applicable
N/A N/A
Education related SDGs:the Sustainable Development Goals
  • 4.QUALITY EDUCATION
  • 9.INDUSTRY, INNOVATION AND INFRASTRUCTURE
Last modified : Sun Mar 21 16:30:33 JST 2021