Checking Semantics - nasa/fpp GitHub Wiki
For implementation, see
CheckSemantics.scala.
- 
If the semantic check passes, an analysis data structure a representing the results of the analysis. 
- 
Otherwise an error and no output. 
- 
Create an empty analysis data structure a. 
- 
Enter symbols for a and tul. 
- 
Construct the implied use map for a and tul. 
- 
Check uses for a and tul. 
- 
Check use def cycles for a and tul. 
- 
Check type uses for a and tul. 
- 
Check expression types for a and tul. 
- 
Evaluate implied enum constants for a and tul. 
- 
Evaluate constant expressions for a and tul. 
- 
Finalize type definitions for a and tul. 
- 
Check framework definitions for a and tul. 
- 
Check port definitions for a and tul. 
- 
Check interface definitions for a and tul. 
- 
Check component definitions for a and tul. 
- 
Check component instance definitions for a and tul. 
- 
Check state machine definitions for a and tul. 
- 
Check topology definitions for a and tul. 
- 
Construct the dictionary map for a and tul. 
- 
Check location specifiers for a and tul.