uniform-team / Uniform-Validation-Language

A logic language to simplify and improve online form validation.
Apache License 2.0
1 stars 0 forks source link

Make Tags and Blocks Order-Independent #53

Open dgp1130 opened 7 years ago

dgp1130 commented 7 years ago

The way Uniform is structured, logic is not particularly order independent. Any statements or blocks in a Uniform program should be able to be rearranged with no affect to the actual code. This is mostly true, but there are a few instances where it is not. Identifier declarations currently must come before their usage. The selector tag must come before a sibling enabled or visible tag. There may also be some others I'm not aware of.

The main issue is to defer certain processing until the entire file is parsed. When an identifier is used, we can't check that it is declared until we parse the entire file. Same for the selector tag issue.