Compile time: Difference between revisions

m
added some links, spelling/grammar
(Created)
 
m (added some links, spelling/grammar)
Line 3:
'''Compile time''' refers to the compilation phase of the program life cycle. The actions undertaken at this stage are referred as ''compile-time'', ''static'', and sometimes as ''early''. The term ''static'' is used in order to stress that the properties provable at compile-time stay valid for the program as a whole, and thus do not depend on the program's dynamic execution state. The term ''early'' is used as an opposite to ''late''.
 
In particular statically typed languages are often backed with the argument that errors hasneed to be detected as early as possible. Some languages were especiallyspecifically designed in a way to support an extensive static analysis of the program semantics.
 
The phases following to compile time are [[link time]] and [[run time]].
 
The compileCompile-time actions are undertaken by thea [[compiler]]/ or [[interpreter]]. These include lexical, and syntax, and semantic analysis followed by [[code generation and]], maintenance of the language development environment, and error diagnosticdiagnostics. ForIn thea [[compiler]] the generated code is usually intermediate. ForIn an [[interpreter]] the code is targeted for thea corresponding virtual machine and is immediately executed on it.
 
Examples of use: compile-time error detection, compile-time object, compile-time constant, static analysis, static typing, static expression, early binding.