Age | Commit message (Collapse) | Author |
|
https://github.com/ruby/prism/commit/a735c2262f
|
|
https://github.com/ruby/prism/commit/d0dbf01bef
|
|
- Add `x` prefix to malloc, calloc, realloc, and free
(eg: malloc -> xmalloc)
- By default, they are replaced with stdlib's functions at build
- You can use custom functions by defining `PRISM_CUSTOM_ALLOCATOR` macro
https://github.com/ruby/prism/commit/7a878af619
|
|
https://github.com/ruby/prism/commit/500099e896
|
|
https://github.com/ruby/prism/commit/865b0d5fbe
|
|
https://github.com/ruby/prism/commit/3e10c46c14
|
|
https://github.com/ruby/prism/commit/9137226a52
|
|
https://github.com/ruby/prism/commit/20fea2cf2b
|
|
So that compilers know they need to add to add an anonymous
variable to the local table.
https://github.com/ruby/prism/commit/7f1aadd057
|
|
https://github.com/ruby/prism/commit/2e8bc17528
|
|
https://github.com/ruby/prism/commit/ee87ed08fb
|
|
|
|
https://github.com/ruby/prism/commit/7987b7aa20
|
|
https://github.com/ruby/prism/commit/5f6c45f6fb
|
|
https://github.com/ruby/prism/commit/19ffa0b980
|
|
https://github.com/ruby/prism/commit/8c9bed2a4d
|
|
https://github.com/ruby/prism/commit/f3030cb2b2
|
|
https://github.com/ruby/prism/commit/56441b08e7
|
|
https://github.com/ruby/prism/commit/a35b8e45ee
|
|
Split up the diagnostic levels so that error and warning levels
aren't mixed. Also fix up deconstruct_keys implementation.
https://github.com/ruby/prism/commit/bd3eeb308d
Co-authored-by: Benoit Daloze <[email protected]>
|
|
* Fixes https://github.com/ruby/prism/issues/2082
https://github.com/ruby/prism/commit/7a74576357
|
|
https://github.com/ruby/prism/commit/a0c5361b9f
|
|
Fix https://github.com/ruby/prism/pull/2111
https://github.com/ruby/prism/commit/21ca243d0a
|
|
This reverts commit d242e8416e99eaee4465e2681210ae8b7ecd6d34.
|
|
We should bundle released version of Prism for Ruby 3.3.0
|
|
https://github.com/ruby/prism/commit/3a67b37a56
|
|
Fix https://github.com/ruby/prism/pull/2026
https://github.com/ruby/prism/commit/c4b41cd477
|
|
https://github.com/ruby/prism/commit/43c4232cfc
|
|
https://github.com/ruby/prism/commit/a28b427dcc
|
|
https://github.com/ruby/prism/commit/1ed07a0c6d
|
|
https://github.com/ruby/prism/commit/864b06f90e
|
|
https://github.com/ruby/prism/commit/e838eaff6f
|
|
https://github.com/ruby/prism/commit/115b6a2fc6
|
|
Fix https://github.com/ruby/prism/pull/1936
https://github.com/ruby/prism/commit/232e77a003
|
|
|
|
I don't prefer this style, but it appears that a plurality of syntax
error messages between with un-capitalized messages in CRuby, so
we'll go with that for consistency, for now.
https://github.com/ruby/prism/commit/b02df68954
|
|
Fix https://github.com/ruby/prism/pull/1547
https://github.com/ruby/prism/commit/cdb643aeab
|
|
(https://github.com/ruby/prism/pull/1899)
https://github.com/ruby/prism/commit/1b41c2d56c
|
|
(https://github.com/ruby/prism/pull/1796)
Previously, we only supported error messages that were constant
strings. This works for the most part, but there are some times
where we want to include some part of the source in the error
message to make it better.
For example, instead of "Token is reserved" it's better to write
"_1 is reserved".
To do this, we now support allocating error messages at runtime
that are built around format strings.
https://github.com/ruby/prism/commit/7e6aa17deb
|
|
(https://github.com/ruby/prism/pull/1801)
https://github.com/ruby/prism/commit/4c1391ea56
|
|
(https://github.com/ruby/prism/pull/1882)
* Fix parsing `...` in arguments
Fix https://github.com/ruby/prism/pull/1830
Fix https://github.com/ruby/prism/pull/1831
* Rename the constant name to PM_ERR_ARGUMENT_FORWARDING_UNBOUND
https://github.com/ruby/prism/pull/1882#discussion_r1398461156
https://github.com/ruby/prism/commit/519653aec2
|
|
https://github.com/ruby/prism/commit/88b7b8e1fc
|
|
https://github.com/ruby/prism/commit/16e0579044
|
|
Right now, our Call{Operator,And,Or}WriteNode nodes represent two
different concepts:
```ruby
foo.bar += 1
foo[bar] += 1
```
These two statements are different in what they can support. The
former can never have arguments (or an opening_loc or closing_loc).
The former can also never have a block. Also, the former is a
variable method name.
The latter is always going to be []/[]=, it can have any number of
arguments including blocks (`foo[&bar] ||= 1`), and will always
have an opening_loc and closing_loc.
Furthermore, these statements end of having to take different paths
through the various compilers because with the latter you have to
consider the arguments and the block, whereas the former can
perform some additional peephole optimizations since there are
fewer values on the stack.
For these reasons, I'm introducing Index{Operator,And,Or}WriteNode.
These nodes never have a read_name or write_name on them because
they are always []/[]=. They also support blocks, which the previous
write nodes didn't. As a benefit of introducing these nodes, I've
removed the opening_loc, closing_loc, and arguments from the older
write nodes because they will always be null.
For the serialized format, both of these nodes end up being
smaller, and for in-memory we're storing fewer things in general,
so we have savings all around.
I don't love that we are introducing another node that is a call
node since we generally want consumers to only have to handle a
single call, but these nodes are so specific that they would have
to be handled separately anyway since in fact call 2 methods.
https://github.com/ruby/prism/commit/70155db9cd
|
|
https://github.com/ruby/prism/commit/5d189ce33e
|
|
https://github.com/ruby/prism/commit/0326ba6775
|
|
https://github.com/ruby/prism/commit/f86bff6dd7
|
|
|
|
|