класс Prism::Translation::RubyParser
Этот модуль является точкой входа для преобразования синтаксического дерева prism в синтаксическое дерево из библиотеки сеattlerb/ruby_parser.
Публичные методы класса
Исходный код
# File lib/prism/translation/ruby_parser.rb, line 1620 def parse(source, filepath = "(string)") new.parse(source, filepath) end
Обработать заданный исходный код и перевести его в формат Sexp библиотеки seattlerb/ruby_parser.
Исходный код
# File lib/prism/translation/ruby_parser.rb, line 1626 def parse_file(filepath) new.parse_file(filepath) end
Обработать заданный файл и перевести его в формат Sexp библиотеки seattlerb/ruby_parser.
Публичные методы экземпляра
Исходный код
# File lib/prism/translation/ruby_parser.rb, line 1607 def parse(source, filepath = "(string)") translate(Prism.parse(source, filepath: filepath, partial_script: true), filepath) end
Обработать заданный исходный код и перевести его в формат Sexp библиотеки seattlerb/ruby_parser.
Исходный код
# File lib/prism/translation/ruby_parser.rb, line 1613 def parse_file(filepath) translate(Prism.parse_file(filepath, partial_script: true), filepath) end
Обработать заданный файл и перевести его в формат Sexp библиотеки seattlerb/ruby_parser.
Приватные методы экземпляра
Исходный код
# File lib/prism/translation/ruby_parser.rb, line 1635
def translate(result, filepath)
if result.failure?
error = result.errors.first
raise ::RubyParser::SyntaxError, "#{filepath}:#{error.location.start_line} :: #{error.message}"
end
result.value.accept(Compiler.new(filepath))
end Преобразовать результат обработки и путь к файлу в формат Sexp библиотеки seattlerb/ruby_parser.
Ruby Core © 1993–2024 Yukihiro Matsumoto
Licensed under the Ruby License.
Ruby Standard Library © contributors
Licensed under their own licenses.