- All of the CF_ constants and flags should be moved into the CF:: namespace, now that we have namespaces.
- cfdg files should be all version 2 or all version 3, no mixing of the two types
- Continue to use shape to introduce version 3 rules, but use path to introduce version 3 paths
- Context Free uses curly brackets for too many things. Mark wants to use square brackets for shape adjustments and only use curly brackets for statement grouping. Single bracket pairs [ ] would enclose shape adjustments in canonical form and double bracket pairs [[ ]] would enclose shape adjustments in ordered form. The canonicizing operator goes away.
- background, tile, and size directives would go away. They would be replaced by configuration variables CF::background, CF::tile, and CF::size.
- The syntax for indicating that a rule is reusing its parameters is too easy to mistake. Instead of empty parentheses it will be parentheses enclosing an equal sign: foo(=) []
- Get rid of forward declarations. Just do two-pass parsing.
- Dynamically picking 1 or -1 for the loop increment is evil. If the loop increment is not specified then the loop increment is 1.
- cfdg files are Unicode files in any encoding scheme, not just UTF8 encoding
Version 3, Mark finally weighs in
Moderators: MtnViewJohn, chris, mtnviewmark
- MtnViewJohn
- Site Admin
- Posts: 881
- Joined: Fri May 06, 2005 2:26 pm
- Location: Mountain View, California
- Contact:
Version 3, Mark finally weighs in
Mark read the version 3 external reference spec and proposes these changes: