Content deleted Content added
move section to Semantic analysis (linguistics) |
|||
Line 1:
In [[computer science]], '''semantic analysis''' is a pass by a [[compiler]] that adds semantical information to the [[parse tree]] and performs certain checks based on this information. It logically follows the [[parsing]] phase, in which the parse tree is generated, and logically precedes the [[code generation]] phase, in which executable code is generated. (In a compiler implementation, it may be possible to fold different phases into one pass.) Typical examples of semantical information that is added and checked is typing information ([[type checking]]) and the binding of variables and function names to their definitions ([[object binding]]). Sometimes also some early code optimization is done in this phase.
For this phase the compiler usually maintains so-called ''symbolic tables'' in which it stores what each symbol (variable names, function names, etc.) refers to.
[[Category:Computing]]
|