| Age | Commit message (Collapse) | Author |
|
We should bundle released version of Prism for Ruby 3.3.0
|
|
Fix https://github.com/ruby/prism/pull/2026
https://github.com/ruby/prism/commit/c4b41cd477
|
|
Fix https://github.com/ruby/prism/pull/2073
https://github.com/ruby/prism/commit/0f747d9240
|
|
https://github.com/ruby/prism/commit/0663e2bcfa
|
|
Fix https://github.com/ruby/prism/pull/2034
https://github.com/ruby/prism/commit/8280e577fa
|
|
Fix https://github.com/ruby/prism/pull/2022
Fix https://github.com/ruby/prism/pull/2030
https://github.com/ruby/prism/commit/b78d8b6525
|
|
https://github.com/ruby/prism/commit/a28b427dcc
|
|
This doesn't actually fix the encodings for symbols and regex,
unfortunately. But I wanted to get this change in because it is
the last AST change we're going to make before 3.3 is released.
So, if consumers want, they can start to check these flags to
determine the encoding, even though it will be wrong. Then once we
actually set them correctly, everything should work.
https://github.com/ruby/prism/commit/9b35f7e891
|
|
https://github.com/ruby/prism/commit/1ed07a0c6d
|
|
https://github.com/ruby/prism/commit/864b06f90e
|
|
https://github.com/ruby/prism/commit/ef512ca914
|
|
https://github.com/ruby/prism/commit/6e69a81737
|
|
Fix https://github.com/ruby/prism/pull/1974
https://github.com/ruby/prism/commit/453d403593
|
|
https://github.com/ruby/prism/commit/e838eaff6f
|
|
The locals_body_index gives the index in the locals array where
the locals from the body start. This allows compilers to easily
index past the parameters in the locals array.
https://github.com/ruby/prism/commit/5d4627b890
|
|
https://github.com/ruby/prism/commit/e91f8dbb99
|
|
https://github.com/ruby/prism/commit/d5453f168e
|
|
Fix https://github.com/ruby/prism/pull/1468
Fix https://github.com/ruby/prism/pull/1575
To decide command-style method calls are allowed, this introduce a new
parameter `accepts_command_call` to `parse_expression` and some
functions.
Although one think this can be solved by operator precedence, it is
hard or impossible, because the precedence of command-style calls is skewed
(e.g. `! bar 1 ` is accepted, but `foo = ! bar 1` is rejected.)
One of the most complex examples is that:
(1) even though `foo = bar = baz 1` and `foo, bar = baz 1` is accepted,
(2) `foo, bar = baz = fuzz 1` is rejected.
To implement this behavior, this introduces a new binding power
`PM_BINDING_POWER_MULTI_ASSIGNMENT` and uses it for distinguish which single
assignments or multi assignments at their RHS.
https://github.com/ruby/prism/commit/d4dd49ca81
|
|
Fix https://github.com/ruby/prism/pull/1978
https://github.com/ruby/prism/commit/194c997d0a
|
|
Previously numbered parameters were a field on blocks and lambdas
that indicated the maximum number of numbered parameters in either
the block or lambda, respectively. However they also had a
parameters field that would always be nil in these cases.
This changes it so that we introduce a NumberedParametersNode that
goes in place of parameters, which has a single uint8_t maximum
field on it. That field contains the maximum numbered parameter in
either the block or lambda.
As a part of the PR, I'm introducing a new UInt8Field type that
can be used on nodes, which is just to make it a little more
explicit what the maximum values can be (the maximum is actually 9,
since it only goes up to _9). Plus we can do a couple of nice
things in serialization like just read a single byte.
https://github.com/ruby/prism/commit/2d87303903
|
|
Fix https://github.com/ruby/prism/pull/1946
This fixes to set an error position for unterminated strings to the
opening delimiters. Previously, the error position was set to the end
of the delimiter.
The same fix applies to other string-like literals.
Additionally, this fixes https://github.com/ruby/prism/pull/1946; that is, it adds the last part of the
string even though the string literal does not terminate.
https://github.com/ruby/prism/commit/c1240baafd
|
|
Fix https://github.com/ruby/prism/pull/1936
https://github.com/ruby/prism/commit/232e77a003
|
|
We are aware at parse time how many numbered parameters we have
on a BlockNode or LambdaNode, but prior to this commit, did not
store that information anywhere in its own right.
The numbered parameters were stored as locals, but this does not
distinguish them from other locals that have been set, for example
in `a { b = 1; _1 }` there is nothing on the AST that distinguishes
b from _1.
Consumers such as the compiler need to know information about how
many numbered parameters exist to set up their own tables around
parameters. Since we have this information at parse time, we should
compute it here, instead of deferring the work later on.
https://github.com/ruby/prism/commit/bf4a1e124d
|
|
https://github.com/ruby/prism/commit/1e6ecbaf04
|
|
https://github.com/ruby/prism/commit/896915de24
|
|
Fix https://github.com/ruby/prism/pull/1637
https://github.com/ruby/prism/commit/0172d69cba
|
|
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/1920
https://github.com/ruby/prism/commit/ee8e03bac7
|
|
Fix https://github.com/ruby/prism/pull/1925
Fix https://github.com/ruby/prism/pull/1927
Previously pm_call_node_index_p does not check about a block argument
correctly and is not used in parse_write to check an index call node.
This commit fixes these problems.
https://github.com/ruby/prism/commit/92bab044ff
|
|
Follow up the ruby/ruby#8917 change.
https://github.com/ruby/prism/commit/f6bac4d3bf
|
|
Fix https://github.com/ruby/prism/pull/1828
https://github.com/ruby/prism/commit/22c0640e48
|
|
Fix https://github.com/ruby/prism/pull/1547
https://github.com/ruby/prism/commit/cdb643aeab
|
|
* The same order as in source code.
* CallOrWriteNode, CallOperatorWriteNode, CallAndWriteNode already have
the correct order so it was also inconsistent with them.
https://github.com/ruby/prism/commit/4434e4bc22
|
|
(https://github.com/ruby/prism/pull/1837)
Fix https://github.com/ruby/prism/pull/1829
https://github.com/ruby/prism/commit/90b0b1974c
Co-authored-by: Kevin Newton <kddnewton@gmail.com>
|
|
(https://github.com/ruby/prism/pull/1899)
https://github.com/ruby/prism/commit/1b41c2d56c
|
|
(https://github.com/ruby/prism/pull/1878)
Fix https://github.com/ruby/prism/pull/1832
https://github.com/ruby/prism/commit/060bcc81a8
|
|
(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/1797)
https://github.com/ruby/prism/commit/c13165e6aa
|
|
(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/f1d56da58f
|
|
|
|
https://github.com/ruby/prism/commit/d60948bac3
|
|
They are corresponding to `arg_value` in `parse.y`.
https://github.com/ruby/prism/commit/a4a4834e0d
|
|
They are corresponding to `arg_value` in `parse.y`.
https://github.com/ruby/prism/commit/a4a4834e0d
|
|
https://github.com/ruby/prism/commit/d60948bac3
|
|
They are corresponding to `arg_value` in `parse.y`.
https://github.com/ruby/prism/commit/a4a4834e0d
|
|
https://github.com/ruby/prism/commit/37fad74134
|
|
https://github.com/ruby/prism/commit/231e965124
|
|
https://github.com/ruby/prism/commit/b7850f2d30
|