|
Teacher name : IOKI Nobuhiro
|
Academic year
2025Year
Term
First Semester
Course title
Language Processor
Class type
Lecture
Course title (ENG)
Language Processor
Class code・Class name・Teaching forms
Z0700005 Language Processor
Instructor
IOKI Nobuhiro
Credits
2.0Credits
Day and Time
Tue.4Period
Campus
Shinjuku Campus
Location
A-0511教室
Relationship between diploma policies and this course
A) A high degree of specialized expertise 60%
B) The skills to use science and technology 40% C) The ability to conduct research independently, knowledge pertaining to society and occupations, and sense of ethics required of engineers and researchers 0% D) Creative skills in specific areas of specialization 0% Goals and objectives
The language processing described in this lecture is software that translates source programs written in programming languages into machine language that can be understood by computers. There are two translation methods. One is the compiler method that translates the source program all at once and the other is interpreter method that executes the source program while translating it line by line. This lecture explains the language processing method of the compiler. In addition, this lecture explains operating mechanism of Object-oriented languages Java and multiparadigm programming language Python, which are widely used these days.
The optimization is a process to improve execution performance of program. The computer architecture means detail specification of computer system which involves instruction set, memory, cache memory, resister file, etc. In addition, the computer system has superscalar, vector-instruction, and many-core processor for parallel execution. The performance improvement is achieved by effective utilization of these computer architectures. On the other hand, since Java is an interpreted language, optimization that takes computer architecture into account is difficult. To improve execution performance, application of the JIT compiler and program technique with consideration of memory management mechanism is important for execution performance improvement. This lecture introduces basic operation of compiler such as lexical analysis, syntax analysis and semantic analysis. In addition, this lecture introduces computer architectures and effective utilization of the computer architectures by compiler. Regarding Java, this lecture explains its operating mechanism and memory management mechanism and explains programming methods to improve execution performance. This lecture will help you to have technique for programing to improve execution performance by understanding relation between compiler optimization and computer architecture, in addition operation and memory management mechanism of Java. Prerequisites
It is desirable to have programming experience.
This lecture in 2024 will be conducted in the form of "face-to-face method". Students can attend this lecture in the classroom. Method Using AL・ICT
Presentation
Class schedule
1. Evolutionary history of computer and computer architecture
2. History of programming language (From machine language to script language) 3. Configuration of compiler and lexical analysis 4. Postfix notation (Reverse Polish notation) 5. Automaton 6. Deterministic Finite Automaton 7. Syntax analysis and semantic analysis 8. Instruction level optimization and Loop structure conversion 9. Memory structure and effective utilization of cache mamory 10. Automatic parallelization by compiler 11. Processing method of Java and Python 12. Virtual machine system (Java VM) 13. Memory allocation method of Java VM and garbage collection 14. Optimization features of Java (HotSpotVM and JIT Compiler) Evaluation
Evaluated based on attendance points (10%) and report (90%).
Feedback for students
Ask you to summarize your understanding and questions regarding the content of lecture in a short report and submit it before the next lecture. You can get a comment about the short report in the lecture.
Textbooks
Materials and reference documents are distributed as necessary.
Reference materials
1.中田育夫:コンパイラの構成と最適化,朝倉書店,1999年
2.今城哲二,布広永示,岩沢京子,千葉雄司;コンパイラとバーチャルマシン,オーム社,2004年 3.金田康正,片桐孝洋,黒田久泰,山本有作,五百木伸洋,並列処理 −高速化と性能向上のために−,コロナ社,2010年 Office hours and How to contact teachers for questions
Consultation and questions about this lecture are accepted at any time by e-mail.
The e-mail address will be announced at the first lecture. Message for students
Graduate students interested in computer architecture, optimization of compiler and automatic parallelization are well come.
Course by professor with work experience
Not applicable
Work experience and relevance to the course content if applicable
Numerical calculation library for Scientific Computing
Compiler development (C, FORTRAN) Artificial Intelligence Cloud and Microservices Architecture Distributed transaction manager Teaching profession course
Informatics Program
|