Commit graph

23 commits

Author SHA1 Message Date
David Majda fb5f6c6ee9 Make labels behave like block-scoped variables
Action and predicate code can now see variables defined in expressions
"above" them.

Based on a pull request by Bryon Vandiver (@asterick):

  https://github.com/pegjs/pegjs/pull/180

Fixes #316.
2015-02-13 14:10:32 +01:00
David Majda 73795a65cc Behavior specs cleanup: Add group specs
While groups don't create separate nodes on the AST level, they exist
as concept on the user level, so they should be specified.
2015-01-26 09:54:29 +01:00
David Majda e306b58443 Behavior specs cleanup: Improve error reporting specs 2015-01-26 09:54:29 +01:00
David Majda e9d038547d Behavior specs cleanup: Improve semantic predicate specs
Note that use of |text| inside semantic predicate code is no longer
tested and officially supported.
2015-01-26 09:54:29 +01:00
David Majda 3d9600b81b Behavior specs cleanup: Improve action specs 2015-01-26 09:54:29 +01:00
David Majda b623396cb8 Behavior specs cleanup: Improve initializer specs
Note that use of |text|, |offset|, |line|, and |column| inside
initializer code is no longer tested and officially supported.
2015-01-26 09:54:29 +01:00
David Majda fee58d0806 Behavior specs cleanup: Improve rule specs 2015-01-26 09:54:29 +01:00
David Majda fa70e70ddf Behavior specs cleanup: Improve choice specs 2015-01-24 20:04:49 +01:00
David Majda b3828919e2 Behavior specs cleanup: Improve sequence specs 2015-01-24 20:02:06 +01:00
David Majda 548209b48b Behavior specs cleanup: Improve simple predicate specs 2015-01-24 19:57:49 +01:00
David Majda 52144e48cb Behavior specs cleanup: Improve label specs 2015-01-24 19:57:49 +01:00
David Majda c5c44b9d0c Behavior specs cleanup: Improve text specs 2015-01-24 19:57:49 +01:00
David Majda bb708490a0 Behavior specs cleanup: Improve one or more specs 2015-01-24 19:57:49 +01:00
David Majda b9a3b44cf2 Behavior specs cleanup: Improve zero or more specs 2015-01-24 19:57:49 +01:00
David Majda c377eff876 Behavior specs cleanup: Improve optional specs 2015-01-24 19:57:48 +01:00
David Majda ade2c249f2 Behavior specs cleanup: Improve rule reference specs 2015-01-24 19:57:48 +01:00
David Majda 936d6453a5 Behavior specs cleanup: Improve dot specs 2015-01-24 19:57:48 +01:00
David Majda 74be12c657 Behavior specs cleanup: Improve character class specs 2015-01-24 19:57:48 +01:00
David Majda 54191fbf12 Behavior specs cleanup: Improve literal specs 2015-01-24 19:57:48 +01:00
David Majda 2faff0000e Behavior specs cleanup: Make |toParse| work without expected value
This means we can assert just "this string parses" and ignore the
returned value.
2015-01-12 16:40:28 +01:00
David Majda ce91921a1d Behavior specs cleanup: Don't describe named rules separately
While naming a rule creates a separate node on the AST level, it's not a
new concept on the user level, so its specs should be a part of rule
specs.
2015-01-12 16:40:28 +01:00
David Majda a597e65a66 Behavior specs cleanup: Reorder toplevel |describe| blocks
Reorder toplevel |describe| blocks to more closely match ordering used
in the PEG.js grammar and elsewhere in PEG.js.
2015-01-12 16:40:28 +01:00
David Majda 3308807d22 Behavior specs cleanup: Move spec/api/generated-parser-behavior.spec.js
Move spec/api/generated-parser-behavior.spec.js to
spec/behavior/generated-parser-behavior.spec.js. It's not an API test,
strictly speaking.
2015-01-12 16:39:56 +01:00