An object to represent the set of errors on a parse result. This object can be used to format the errors in a human-readable way.
Raised when the query given to a pattern is either invalid Ruby syntax or is using syntax that we don’t yet support.
This class is the entry-point for converting a prism syntax tree into the whitequark/parser gem’s syntax tree. It inherits from the base parser for the parser gem, and overrides the parse* methods to parse with prism and then translate.
This class is the entry-point for Ruby 3.3 of ‘Prism::Translation::Parser`.
This class is the entry-point for Ruby 3.4 of ‘Prism::Translation::Parser`.
This class provides a compatibility layer between prism and Ripper
. It functions by parsing the entire tree first and then walking it and executing each of the Ripper
callbacks as it goes. To use this class, you treat ‘Prism::Translation::Ripper` effectively as you would treat the `Ripper` class.
Note that this class will serve the most common use cases, but Ripper’s API is extensive and undocumented. It relies on reporting the state of the parser at any given time. We do our best to replicate that here, but because it is a different architecture it is not possible to perfectly replicate the behavior of Ripper
.
The main known difference is that we may omit dispatching some events in some cases. This impacts the following events:
on_assign_error
on_comma
on_ignored_nl
on_ignored_sp
on_kw
on_label_end
on_lbrace
on_lbracket
on_lparen
on_nl
on_op
on_operator_ambiguous
on_rbrace
on_rbracket
on_rparen
on_semicolon
on_sp
on_symbeg
on_tstring_beg
on_tstring_end
This module is the entry-point for converting a prism syntax tree into the seattlerb/ruby_parser gem’s syntax tree.
Indicates that the DNS
response was unable to be decoded.
Indicates that the DNS
request was unable to be encoded.
A DNS
query abstract class.
This class is used by rubygems to build Rust extensions. It is a thin-wrapper over the ‘cargo rustc` command which takes care of building Rust code in a way that Ruby can use.