{"@context":"https://w3id.org/codemeta/3.0","@type":"SoftwareSourceCode","identifier":"pkg:gem/ruby_parser","name":"ruby_parser","description":"ruby_parser (RP) is a ruby parser written in pure ruby (utilizing\nracc--which does by default use a C extension). It outputs\ns-expressions which can be manipulated and converted back to ruby via\nthe ruby2ruby gem.\n\nAs an example:\n\n    def conditional1 arg1\n      return 1 if arg1 == 0\n      return 0\n    end\n\nbecomes:\n\n    s(:defn, :conditional1, s(:args, :arg1),\n      s(:if,\n        s(:call, s(:lvar, :arg1), :==, s(:lit, 0)),\n        s(:return, s(:lit, 1)),\n        nil),\n      s(:return, s(:lit, 0)))\n\nTested against 801,039 files from the latest of all rubygems (as of 2013-05):\n\n* 1.8 parser is at 99.9739% accuracy, 3.651 sigma\n* 1.9 parser is at 99.9940% accuracy, 4.013 sigma\n* 2.0 parser is at 99.9939% accuracy, 4.008 sigma\n* 2.6 parser is at 99.9972% accuracy, 4.191 sigma\n* 3.0 parser has a 100% parse rate.\n  * Tested against 2,672,412 unique ruby files across 167k gems.\n  * As do all the others now, basically.","version":"3.22.0","softwareVersion":"3.22.0","license":"https://spdx.org/licenses/MIT","codeRepository":"https://github.com/seattlerb/ruby_parser","issueTracker":"https://github.com/seattlerb/ruby_parser/issues","url":"https://github.com/seattlerb/ruby_parser","programmingLanguage":{"@type":"ComputerLanguage","name":"Ruby"},"maintainer":[{"@type":"Person","name":"zenspider"}],"author":[{"@type":"Person","name":"zenspider"}],"copyrightHolder":[{"@type":"Person","name":"zenspider"}],"dateCreated":"2009-07-25","dateModified":"2025-12-21","datePublished":"2025-12-21","copyrightYear":2009,"downloadUrl":"https://rubygems.org/downloads/ruby_parser-3.22.0.gem","softwareHelp":{"@type":"WebSite","url":"http://www.rubydoc.info/gems/ruby_parser/"},"applicationCategory":"rubygems","runtimePlatform":"rubygems","developmentStatus":"active","sameAs":["https://rubygems.org/gems/ruby_parser"],"https://www.w3.org/ns/activitystreams#likes":482,"https://forgefed.org/ns#forks":99}