Skip to content

Draft: Semantic analysis

This MR is for a baseline semantic analysis, and will be ready when at least reference validity checks and all the commented out diagnostics are addable (will need to wait for #43 (closed)/#40 (closed) and #30, and #17 would also be very useful).

Currently implements a basic "skeleton" of semantic analysis implementations for shape, pattern, language (word sub-tokens are not complete yet) and color tokens. These check for the presence of required tokens using is_none() and is_empty(), and check for duplicates of secondary arguments (for example, multiple TranslationToken T_WORD tokens are allowed, but I have a check for whether the same word is given 2 translations).

They mostly all have commented out checks for reference validity.

Most of the rest of the checks are custom to each object type.

Merge request reports