| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
https://github.com/ruby/prism/commit/d711950d5f
|
|
|
|
| |
https://github.com/ruby/prism/commit/e30a241fb3
|
|
|
|
| |
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
|
|
|
|
|
|
| |
report.
https://github.com/ruby/prism/commit/9608aa386e
|
|
|
|
| |
https://github.com/ruby/prism/commit/18e6df0d4f
|
|
|
|
| |
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
|
|
|
|
| |
This reverts commit 9b76c7fc89460ed8e9be40e4037c1d68395c0f6d.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It's possible to write the following and have it be valid Ruby:
```
defined?("foo"
)
```
But Prism wasn't taking the new line into account. This adds an
`accept1` for a `PM_TOKEN_NEWLINE` to account for this. I've also
updated the fixtures and snapshots to test this.
https://github.com/ruby/prism/commit/b87f8eedc6
|
|
|
|
|
|
|
|
|
|
| |
Enable Prism using either --prism
ruby --prism test.rb
or via env var
RUBY_PRISM=1 ruby test.rb
|
|
|
|
| |
https://github.com/ruby/prism/commit/694d3d7279
|
|
|
|
|
|
| |
https://github.com/ruby/prism/pull/1949#discussion_r1412568793
https://github.com/ruby/prism/commit/a00f21d10a
|
|
|
|
|
|
|
|
| |
https://github.com/ruby/prism/pull/1949#discussion_r1410733341
https://github.com/ruby/prism/commit/27635da821
Co-Authored-By: Kevin Newton <kddnewton@gmail.com>
|
|
|
|
| |
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
|
|
|
|
| |
https://github.com/ruby/prism/commit/115b6a2fc6
|
|
|
|
|
|
| |
Fix https://github.com/ruby/prism/pull/1978
https://github.com/ruby/prism/commit/194c997d0a
|
|
|
|
|
|
|
|
|
|
|
|
| |
A lot of tools use Ripper/RubyVM::AbstractSyntaxTree to determine
if a source is valid. These tools both create an AST instead of
providing an API that will return a boolean only.
This new API only creates the C structs, but doesn't bother
reifying them into Ruby/the serialization API. Instead it only
returns true/false, which is significantly more efficient.
https://github.com/ruby/prism/commit/7014740118
|
|
|
|
| |
https://github.com/ruby/prism/commit/aa8c702271
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
| |
Now, `PM_DEBUG_LOGGING` can be available.
https://github.com/ruby/prism/commit/569ffacb5f
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
I don't know when it is changed, but the `not_provided` signature is
changed.
https://github.com/ruby/prism/commit/0255cc307d
|
| |
|
|
|
|
| |
https://github.com/ruby/prism/commit/ce4c67fb3a
|
|
|
|
| |
https://github.com/ruby/prism/commit/b9510aed40
|
|
|
|
| |
https://github.com/ruby/prism/commit/f4b7beadc9
|
|
|
|
| |
https://github.com/ruby/prism/commit/c52c7f37ea
|
|
|
|
| |
https://github.com/ruby/prism/commit/98e218d989
|
|
|
|
| |
https://github.com/ruby/prism/commit/9461384b0c
|
| |
|
|
|
|
| |
https://github.com/ruby/prism/commit/2d5b9c2b3c
|
|
|
|
| |
https://github.com/ruby/prism/commit/edfb54f039
|
|
|
|
| |
https://github.com/ruby/prism/commit/7ddf651bab
|
|
|
|
| |
https://github.com/ruby/prism/commit/ca3ab7ec89
|
|
|
|
| |
https://github.com/ruby/prism/commit/4c06b6c42e
|
| |
|
|
|
|
| |
https://github.com/ruby/prism/commit/ba5218385a
|
|
|
|
| |
https://github.com/ruby/prism/commit/d040337ce9
|
| |
|
| |
|
|
|
|
| |
https://github.com/ruby/prism/commit/709fb6e09f
|
|
|
|
| |
https://github.com/ruby/prism/commit/4b3079d9e8
|
|
|
|
| |
https://github.com/ruby/prism/commit/eb1a6ba263
|
| |
|
|
|
|
|
|
|
| |
MacJapanese (also aliased as MacJapan) is a modified Shift_JIS
encoding, but is implemented identically in Ruby
https://github.com/ruby/prism/commit/9e0a097699
|