Calculations provide means of retrieving or calculating data from parsed text in a way that is suitable for parse result:
- when implemented in injected language do not require AST building and thus can be much more efficient in many cases.
- can handle error states (missing or errorneous nodes) in a natural way
- are integrated with grammar extensibility and syntax structure
- provide means for effective memoization (caching) and other optimizations
- provide means for validation of completeness (static per syntax module, dynamic per parser)