On this page
Prism::Translation::Ripper
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
Class methods 5
Instance methods 181
A list of all of the Ruby binary operators.
This array contains name of all ripper events.
A list of all of the Ruby keywords.
This array contains name of parser events.
This contains a table of all of the parser events and their corresponding arity.
This array contains name of scanner events.
This contains a table of all of the scanner events and their corresponding arity.
The current column number of the parser.
The filename of the source being parsed.
The current line number of the parser.
The source that is being parsed.