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. 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. More InformationRelated ArticlesRuby 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 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.
Comments
or email your comment to: comments@i-programmer.info |