Commit graph

8 commits

Author SHA1 Message Date
David Majda 725927e05f Change ordering of "action" code
Places all code that does something with "action" AST nodes under code
handling "choice" nodes.

This ordering is logical because now all the node handling code matches
the sequence in which various node types usually appear when descending
through the AST tree.
2012-06-26 20:28:06 +02:00
David Majda cdf23e0a49 Change ordering of "literal", "class" and "any" code
Changes all code that does something with "literal", "class" or "any"
AST nodes so that the code deals with these in the follwing order:

  1. literal
  2. class
  3. any

Previously the code used this ordering:

  1. literal
  2. any
  3. class

The new ordering is more logical because the nodes are handled from the
most specific to the most generic.
2012-06-25 21:46:47 +02:00
David Majda eb4badab24 Refactor named rules AST representation
PEG.js grammar rules are represented by |rule| nodes in the AST. Until
now, all such nodes had a |displayName| property which was either |null|
or stored rule's human-readable name. This commit gets rid of the
|displayName| property and starts representing rules with a
human-readable name using a new |named| node (a child of the |rule|
node).

This change simplifies code generation code a bit as tests for
|displayName| can be removed (see changes in generate-code.js). It also
separates different concerns from each other nicely.
2012-06-25 21:36:41 +02:00
David Majda 8ef5f08c90 Jasmine: Convert |removeProxyRules| compiler pass tests 2012-05-06 19:05:38 +02:00
David Majda eaf2af8e7b Jasmine: Convert |computeParams| compiler pass tests 2012-05-06 19:05:38 +02:00
David Majda 4edc9982cc Jasmine: Convert |computeVarNames| compiler pass tests 2012-05-06 19:05:38 +02:00
David Majda 1471df9a69 Jasmine: Convert |reportLeftRecursion| compiler pass tests 2012-05-06 19:05:38 +02:00
David Majda 2889ca72fc Jasmine: Convert |reportMissingRules| compiler pass tests 2012-05-06 19:05:38 +02:00