Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Newer
Older
100644 161 lines (101 sloc) 5.44 kB
39fc3d9 @kschiess + prsnt? -> present?, absnt? -> absent?
authored
1 = 2.0 / ?? (future release changes, like a reminder to self)
2
3 - prsnt? and absnt? are now finally banned into oblivion. Wasting vocals for
4 the win.
90ac079 @kschiess + Prepares 1.3.0 release
authored
5
6 = 1.3.1 / ???
ef41e3c @kschiess .
authored
7
23a771c @kschiess + This addresses first half of #63.
authored
8 + Made it possible to pass a custom Parslet::Source implementor to #parse.
9 (see #63)
10
90ac079 @kschiess + Prepares 1.3.0 release
authored
11 = 1.3.0 / 5Mar2012
ef41e3c @kschiess .
authored
12
dafe787 @kschiess ! Fixes #62: real methods, no method missing
authored
13 ! Parslet::Transform::Context is now much more well-behaved. It has
14 #respond_to? and #method_missing; it now looks like a plain old Ruby
15 object with instance variables and attribute readers.
16
ef41e3c @kschiess .
authored
17 - Grammar transforms turned out to be a dead end and have been removed.
eda73ad @kschiess . Updates history
authored
18
19 ! A few problems in error message generation have been fixed. This will
20 improve diagnostics further.
21
22 + A VM driven parser engine: Removes the limitation that parsing needs a
23 lot of stack space, something dearly missing from Ruby 1.9.3 fibers.
dafe787 @kschiess ! Fixes #62: real methods, no method missing
authored
24 This engine is experimental and might be removed in the future.
eda73ad @kschiess . Updates history
authored
25
26 ! Interaction with mathn fixed - Line number generation will terminate.
27
28 . Internal reorganisation, removing cruft and bit rot.
ce4501f @kschiess . extends history
authored
29
75da149 @kschiess . document 1.2.3
authored
30 = 1.2.3 / 22Sep2011
ce4501f @kschiess . extends history
authored
31
2641cd6 @kschiess + Allow Transform#apply with a context hash
authored
32 + Transform#apply can now be called with a hash as second argument. This
33 provides bindings and a way to inject context.
75da149 @kschiess . document 1.2.3
authored
34
35 ! Fixes a bug thar modified parslet atoms in place, defeating oop chaining.
36 (#50)
ce4501f @kschiess . extends history
authored
37
ad967b4 @kschiess . preparing a 1.2.1 release
authored
38 = 1.2.1 / 6Jun2011
ce4501f @kschiess . extends history
authored
39
d2de18a @kschiess .
authored
40 ! FIX: Input at the end of a parse raises Parslet::UnconsumedInput. (see
41 issue 18)
42
ad967b4 @kschiess . preparing a 1.2.1 release
authored
43 ! FIX: Unicode parsing should now work as expected. (see issue 38)
44
ce4501f @kschiess . extends history
authored
45 ! FIX: Slice#slice returned wrong bits at times (see issue 36).
39fc3d9 @kschiess + prsnt? -> present?, absnt? -> absent?
authored
46
ce4501f @kschiess . extends history
authored
47 = 1.2.0 / 4Feb2011
c48baaf @kschiess + Visitor methods can now be distinguished from cons-methods
authored
48
1080d75 @kschiess + Parslet::Parser is now also a parslet atom
authored
49 + Parslet::Parser is now also a grammar atom, it can be composed freely with
50 other atoms. (str('f') >> MiniLispParser.new >> str('b'))
51
52 + No strings, only slices are returned as part of the parser result.
53 Parslet::Slice is almost a string class, but one that remembers the
54 source offset. This has also bought us a slight speedup.
de43192 @kschiess + parse_with_debug now works on all parslets
authored
55
56 + require 'parslet/convenience' now brings #parse_with_debug to all parslets.
3ba78cd @kschiess . documents the change
authored
57 This is a consequence of the above change.
58
59 + Deprecates prsnt? and absnt? in favor of the more readable absent? and
60 prsnt?. Uses 3 bytes more RAM. The old variants will exist until we release
61 2.0.
b3259a4 @kschiess + Entity made simpler
authored
62
63 INTERNALLY
64
65 + Visitors now should have methods that all begin with 'visit_*'. #str
66 becomes #visit_str.
67
68 + Parslet::Atoms::Entity now takes only a block argument instead of context
69 and block.
1080d75 @kschiess + Parslet::Parser is now also a parslet atom
authored
70
5fbe644 @kschiess ! Fixes line counting (which was totally wrong)
authored
71 = 1.1.1 / 4Feb2011
72
73 ! FIX: Line counting was broken by performance optimisations.
3ef3da7 @kschiess . prepare for release
authored
74
75 + Squeezed out another few drops of performance.
5fbe644 @kschiess ! Fixes line counting (which was totally wrong)
authored
76
b345328 @kschiess + preparing for a release
authored
77 = 1.1.0 / 2Feb2011
9292d50 @kschiess . history
authored
78
b2dc144 @kschiess + parslet atoms now implement the visitor pattern
authored
79 + Uses return (fail/success), cached line counts, memoizing of parse results
80 and other tricks internally for at least an order of magnitude increase
81 in execution speed.
6bbbb67 @kschiess ! Fixes another instance of hash mangling.
authored
82
8d4de8a @kschiess + Consistent behaviour for .maybe and .repeat
authored
83 + str('foo').maybe will now return an empty string again. Use .as(...) to
84 name things and get back [] from #repeat and nil from #maybe.
85
b2dc144 @kschiess + parslet atoms now implement the visitor pattern
authored
86 + If you require 'parslet/atoms/visitor', you'll get an accept method on
87 all known Parslet::Atoms.
b345328 @kschiess + preparing for a release
authored
88
89 + If you require 'parslet/export', you can call #to_citrus and #to_treetop
90 to produce string versions of your grammar in those dialects.
91
92 + Requiring 'parslet/convenience' will given you a parse_with_debug on
93 your Parslet::Parser class. This prints some diagnostics on parse failure.
94 (Thanks to Florian Hanke)
b2dc144 @kschiess + parslet atoms now implement the visitor pattern
authored
95
036c7c2 @kschiess . prepares 1.0.1 release
authored
96 = 1.0.1 / 17Jan2011
97
98 A happy new year!
99
6bbbb67 @kschiess ! Fixes another instance of hash mangling.
authored
100 ! FIX: Parslet::Transform was wrongly fixed earlier - it now wont mangle
101 hashes anymore. (Blake Sweeney)
036c7c2 @kschiess . prepares 1.0.1 release
authored
102
103 + parslet/rig/rspec.rb contains useful rspec matchers. (R. Konstantin Haase)
fe3bfbb @kschiess + 1.0 got lost
authored
104
d6123db @kschiess + Bumping version to 1.0.0, preparing for release
authored
105 = 1.0.0 / 29Dez2010
0a68689 @kschiess . version bump
authored
106
107 - #each_match was removed. There was some duplication of code that even
108 confused me - and we should not have 2 methods of achieving the same
d6123db @kschiess + Bumping version to 1.0.0, preparing for release
authored
109 goal.
110
111 + Full documentation. Fixed sdoc.
0a68689 @kschiess . version bump
authored
112
b02bf58 @kschiess + Releasing 0.11.0
authored
113 = 0.11.0 / 25Nov2010
114
115 ! Bugfixes to tree handling. Let's hope that was the last such significant
116 change to the core.
117
118 = 0.10.1 / 22Nov2010
8aea7b7 @kschiess + New release started
authored
119
5c56c99 @kschiess + match['a'] means the same as match('[a]')
authored
120 + Allow match['a-z'], shortcut for match('[a-z]')
121
8aea7b7 @kschiess + New release started
authored
122 ! Fixed output inconsistencies (behaviour in connection to 'maybe')
123
124 = 0.10.0 / 22Nov2010
fe0a33f @kschiess . updated history
authored
125
126 + Parslet::Transform now takes a block on initialisation, wherein you can
127 define all the rules directly.
128
129 + Parslet::Transform now only passes a hash to the block during transform
130 when its arity is 1. Otherwise all hash contents as bound as local
131 variables.
2177a17 @kschiess + subtree match feature
authored
132
133 + Both inline and other documentation have been improved.
134
135 + You can now use 'subtree(:x)' to bind any subtree to x during tree pattern
136 matching.
a14f51b @kschiess + Transform definition symmetric to Parser definition
authored
137
138 + Transform classes can now include rules into class definition. This makes
139 Parser and Transformer behave the same.
8aea7b7 @kschiess + New release started
authored
140
fe0a33f @kschiess . updated history
authored
141 = 0.9.0 / 28Oct2010
db8ed6c @kschiess + gem builder tasks (gem this)
authored
142 * More of everything: Examples, documentation, etc...
143
8e9a8b3 @kschiess + major change: instead of /, use | now
authored
144 * Breaking change: Ruby's binary or ('|') is now used for alternatives,
145 instead of the division sign ('/') - this reduces the amount of
146 parenthesis needed for a grammar overall.
71f2231 @kschiess + Makes the readmes work again
authored
147
99577cf @kschiess . parslet.maybe change: returns nil
authored
148 * parslet.maybe now yields the result or nil in case of parse failure. This
149 is probably better than the array it did before; the jury is still out on
150 that.
b3007d3 @kschiess .
authored
151
152 * parslet.repeat(min, max) is now valid syntax
99577cf @kschiess . parslet.maybe change: returns nil
authored
153
154 = 0.1.0 / not released.
71f2231 @kschiess + Makes the readmes work again
authored
155
156 * Initial version. Classes for parsing, matching in the resulting trees
7085bc9 @kschiess + Readme and History up to date
authored
157 and transforming the trees into something more useful.
158
159 * Parses and outputs intermediary trees
160
161 * Matching of single elements and sequences
Something went wrong with that request. Please try again.