📚
プログラミング言語の規則
- Lexical
- Syntax
- Semantic
Lexical
regular grammer.
elementsは以下。
- Keywords: if, elseなど
- Operators: +, -, *など
- Parentheses, eparation characters
- Literals: 0(integer literal), 0.1(double literal), "Hello World!" etc. Identifiers
- Comments
Identifiersとは?
variables or functions or etc.
Alphanumric is used.
Syntatical rules
how to build the program.
syntax is describe in form of BNF(Backus normal form).
Semantic rules
does it make sense that we built?
シンタックス的にはただしいが、semanticがおかしい例
int main() {
char a[10];
a = 2;
}
compilation
コンパイルの部品
- Lexer: https://dev.to/cad97/what-is-a-lexer-anyway-4kdo
- Parser: https://www.techopedia.com/definition/3854/parser
- Semantic checking: https://www.geeksforgeeks.org/semantic-analysis-in-compiler-design/
エラーの分類
Discussion