Ruby 3.3 Makes Prism Parser Default
Written by Kay Ewbank   
Thursday, 28 December 2023

Ruby 3.3 is now at release candidate stage, with improvements including a new parser named Prism, the use of Lrama as a parser generator, and a new pure-Ruby JIT compiler named RJIT.

Ruby is a high-level language drawing on elements of Perl, Smalltalk, Eiffel, Ada, and Lisp and supporting multiple programming concepts to balance functional, dynamic and object oriented programming. Fans say it is fun to use as well as useful.

rubylogo2a

The first main change to this version is the introduction of the Prism parser as a default gem. Prism is a portable, error tolerant, and maintainable recursive descent parser for the Ruby language. It is production ready and actively maintained, and can be used in place of Ripper. Prism is both a C library that will be used internally by CRuby and a Ruby gem that can be used by any tooling which needs to parse Ruby code.

The second change involves the use of Lrama instead of Bison. Lrama is an LALR (look-ahead, left-to-right, rightmost derivation) parser generator written by Ruby. It has been introduced with the goal of providing an error-tolerant parser for CRuby with minimal changes on the CRuby parse.y file.

This version also introduces a pure-Ruby JIT compiler, RJIT, which replaces MJIT. RJIT supports only x86-64 architecture on Unix platforms, and unlike MJIT, it doesn't require a C compiler at runtime. At the moment, RJIT is purely experimental and developers should continue using YJIT in production.

Meanwhile, YJIT has been revamped with major performance improvements and better memory use compared to the version included in 3.2.

Ruby 3.3 release candidate is available now.

rubylogo2a

More Information

Ruby Official Site

Related Articles

Ruby 3.2 Adds WebAssembly Support

Ruby 3.1 Adds In-Process JIT Compiler

Ruby 3 Released Offering Three Times Better Performance

Ruby On Rails 7 Moves To No-Node Default

Fukuoka Ruby Award 2021 Prestigious Ruby Prize

Ruby 2.6 Adds JIT Compiler

To be informed about new articles on I Programmer, sign up for our weekly newsletter, subscribe to the RSS feed and follow us on Twitter, Facebook or Linkedin.

Banner


Ktor 3.2 Adds HTMX Support
26/06/2025

Ktor 3.2 has been released with new modules for dependency injection and HTMX. This version also adds support for Gradle version catalogs. 



Google Clarifies ChromeOS Android Merger
21/07/2025

Is Google planning on merging ChromeOS with Android? Last week it looked like the long-standing rumor had been casually confirmed by a Google spokesperson. This week, we're back to a position of 'as y [ ... ]


More News

pico book

 

Comments




or email your comment to: comments@i-programmer.info