Ruby · Avançado · Inglês · Técnico
Prism
Parser de Ruby escrito em C, padrão no CRuby desde o 3.4, que gera uma árvore sintática e se recupera de erros. Substitui o antigo parse.y.
Onde usar
Aparece em RuboCop, linters, editores e geradores de código que analisam Ruby. A gem prism permite examinar a AST do seu próprio código.
Em código
require "prism"
r = Prism.parse("a = 1 + 2")
p r.success? # => true
p r.value.statements.body.size # => 1
p Prism.parse("a = ").success? # => falseExemplos
Prism parses the file even with a syntax error.
O Prism analisa o arquivo mesmo com erro de sintaxe.
RuboCop can use Prism to read the code.
O RuboCop pode usar o Prism para ler o código.
Cuidado
Não o confunda com o Prism.js, de realce de sintaxe, nem com o Ripper, o parser mais antigo da biblioteca padrão.
Sinônimos
parser