Spec-Zone.ru › Homebrew

Класс: Parser::Base

Наследует:
Racc::Parser
  • Object
  • Racc::Parser
  • Parser::Base
показать все
Определено в:
sorbet/rbi/parser@3.3.8.0.rbi

Обзор

Базовый класс для парсеров, специфичных для конкретной версии.

source://parser//lib/parser/base.rb#19

Прямые известные подклассы

Ruby34

Краткое описание методов класса свернуть

  • .default_parser ⇒ Parser::Base

    source://parser//lib/parser/base.rb#87.

  • .parse(string, file = T.unsafe(nil), line = T.unsafe(nil)) ⇒ Parser::AST::Node

    Разбирает строку с кодом Ruby и возвращает AST.

  • .parse_file(filename) ⇒ Parser::AST::Node

    Разбирает исходный код Ruby, считывая его из файла.

  • .parse_file_with_comments(filename) ⇒ Array

    Разбирает исходный код Ruby, считывая его из файла, и возвращает AST и комментарии.

  • .parse_with_comments(string, file = T.unsafe(nil), line = T.unsafe(nil)) ⇒ Array

    Разбирает строку с кодом Ruby и возвращает AST и комментарии.

Краткое описание методов экземпляра свернуть

  • #builder ⇒ Object

    source://parser//lib/parser/base.rb#117.

  • #context ⇒ Object

    source://parser//lib/parser/base.rb#120.

  • #current_arg_stack ⇒ Object

    source://parser//lib/parser/base.rb#122.

  • #diagnostics ⇒ Parser::Diagnostic::Engine

    source://parser//lib/parser/base.rb#116.

  • #initialize(builder = T.unsafe(nil)) ⇒ Base конструктор

    source://parser//lib/parser/base.rb#129.

  • #lexer ⇒ Object

    source://parser//lib/parser/base.rb#115.

  • #max_numparam_stack ⇒ Object

    source://parser//lib/parser/base.rb#121.

  • #parse(source_buffer) ⇒ Parser::AST::Node?

    Разбирает буфер исходного кода и возвращает AST или nil в случае некритической ошибки.

  • #parse_with_comments(source_buffer) ⇒ Array

    Разбирает буфер исходного кода и возвращает AST и комментарии исходного кода.

  • #pattern_hash_keys ⇒ Object

    source://parser//lib/parser/base.rb#124.

  • #pattern_variables ⇒ Object

    source://parser//lib/parser/base.rb#123.

  • #reset ⇒ Object

    Сбрасывает состояние парсера.

  • #source_buffer ⇒ Object

    source://parser//lib/parser/base.rb#119.

  • #static_env ⇒ Parser::StaticEnvironment

    source://parser//lib/parser/base.rb#118.

  • #tokenize(source_buffer, recover = T.unsafe(nil)) ⇒ Array

    Разбирает буфер исходного кода и возвращает AST, комментарии исходного кода и токены, созданные лексером.

Подробное описание конструкторов

#initialize(builder = T.unsafe(nil)) ⇒ Base

source://parser//lib/parser/base.rb#129

Параметры:

  • builder (Parser::Builders::Default) (defaults to: T.unsafe(nil)) —

    Построитель AST, который следует использовать.



676
# File 'sorbet/rbi/parser@3.3.8.0.rbi', line 676

def initialize(builder = T.unsafe(nil)); end

Подробное описание методов класса

.default_parser ⇒ Parser::Base

source://parser//lib/parser/base.rb#87

Возвращает:

  • (Parser::Base) —

    парсер с установленными параметрами по умолчанию.



807
# File 'sorbet/rbi/parser@3.3.8.0.rbi', line 807

def default_parser; end

.parse(string, file = T.unsafe(nil), line = T.unsafe(nil)) ⇒ Parser::AST::Node

Разбирает строку с кодом Ruby и возвращает AST. Если исходный код не удаётся разобрать, вызывается исключение SyntaxError, а диагностическое сообщение выводится в stderr.

source://parser//lib/parser/base.rb#33

Примеры:

Parser::Base.parse('puts "hello"')

Параметры:

  • string (String) —

    Блок кода для разбора.

  • file (String) (по умолчанию: T.unsafe(nil)) —

    Имя файла, из которого взят код.

  • line (Numeric) (по умолчанию: T.unsafe(nil)) —

    Начальный номер строки.

Возвращает:

  • (Parser::AST::Node)


822
# File 'sorbet/rbi/parser@3.3.8.0.rbi', line 822

def parse(string, file = T.unsafe(nil), line = T.unsafe(nil)); end

.parse_file(filename) ⇒ Parser::AST::Node

Разбирает исходный код Ruby, считывая его из файла. Если исходный код не удаётся разобрать, вызывается исключение SyntaxError, а диагностическое сообщение выводится в stderr.

source://parser//lib/parser/base.rb#67

Параметры:

  • filename (String) —

    Путь к файлу для разбора.

Возвращает:

  • (Parser::AST::Node)

См. также:

  • #parse


834
# File 'sorbet/rbi/parser@3.3.8.0.rbi', line 834

def parse_file(filename); end

.parse_file_with_comments(filename) ⇒ Array

Разбирает исходный код Ruby, считывая его из файла, и возвращает AST и комментарии. Если исходный код не удаётся разобрать, вызывается исключение SyntaxError, а диагностическое сообщение выводится в stderr.

source://parser//lib/parser/base.rb#80

Параметры:

  • filename (String) —

    Путь к файлу для разбора.

Возвращает:

  • (Array)

См. также:

  • #parse


846
# File 'sorbet/rbi/parser@3.3.8.0.rbi', line 846

def parse_file_with_comments(filename); end

.parse_with_comments(string, file = T.unsafe(nil), line = T.unsafe(nil)) ⇒ Array

Разбирает строку с кодом Ruby и возвращает AST и комментарии. Если исходный код не удаётся разобрать, вызывается исключение SyntaxError, а диагностическое сообщение выводится в stderr.

source://parser//lib/parser/base.rb#52

Примеры:

Parser::Base.parse_with_comments('puts "hello"')

Параметры:

  • string (String) —

    Блок кода для разбора.

  • file (String) (по умолчанию: T.unsafe(nil)) —

    Имя файла, из которого взят код.

  • line (Numeric) (по умолчанию: T.unsafe(nil)) —

    Начальный номер строки.

Возвращает:

  • (Array)


861
# File 'sorbet/rbi/parser@3.3.8.0.rbi', line 861

def parse_with_comments(string, file = T.unsafe(nil), line = T.unsafe(nil)); end

Подробное описание методов экземпляра

#builder ⇒ Object

source://parser//lib/parser/base.rb#117



681
# File 'sorbet/rbi/parser@3.3.8.0.rbi', line 681

def builder; end

#context ⇒ Object

source://parser//lib/parser/base.rb#120



686
# File 'sorbet/rbi/parser@3.3.8.0.rbi', line 686

def context; end

#current_arg_stack ⇒ Object

source://parser//lib/parser/base.rb#122



691
# File 'sorbet/rbi/parser@3.3.8.0.rbi', line 691

def current_arg_stack; end

#diagnostics ⇒ Parser::Diagnostic::Engine

source://parser//lib/parser/base.rb#116

Возвращает:

  • (Parser::Diagnostic::Engine)


697
# File 'sorbet/rbi/parser@3.3.8.0.rbi', line 697

def diagnostics; end

#lexer ⇒ Object

source://parser//lib/parser/base.rb#115



702
# File 'sorbet/rbi/parser@3.3.8.0.rbi', line 702

def lexer; end

#max_numparam_stack ⇒ Object

source://parser//lib/parser/base.rb#121



707
# File 'sorbet/rbi/parser@3.3.8.0.rbi', line 707

def max_numparam_stack; end

#parse(source_buffer) ⇒ Parser::AST::Node?

Разбирает исходный буфер и возвращает AST или nil в случае некритической ошибки.

source://parser//lib/parser/base.rb#189

Параметры:

  • source_buffer (Parser::Source::Buffer) —

    Исходный буфер для разбора.

Возвращает:

  • (Parser::AST::Node, nil)


716
# File 'sorbet/rbi/parser@3.3.8.0.rbi', line 716

def parse(source_buffer); end

#parse_with_comments(source_buffer) ⇒ Array

Разбирает исходный буфер и возвращает AST и комментарии исходного кода.

source://parser//lib/parser/base.rb#207

Возвращает:

  • (Array)

См. также:

  • #parse
  • Source::Comment#associate


726
# File 'sorbet/rbi/parser@3.3.8.0.rbi', line 726

def parse_with_comments(source_buffer); end

#pattern_hash_keys ⇒ Object

source://parser//lib/parser/base.rb#124



731
# File 'sorbet/rbi/parser@3.3.8.0.rbi', line 731

def pattern_hash_keys; end

#pattern_variables ⇒ Object

source://parser//lib/parser/base.rb#123



736
# File 'sorbet/rbi/parser@3.3.8.0.rbi', line 736

def pattern_variables; end

#reset ⇒ Object

Сбрасывает состояние парсера.

source://parser//lib/parser/base.rb#170



743
# File 'sorbet/rbi/parser@3.3.8.0.rbi', line 743

def reset; end

#source_buffer ⇒ Object

source://parser//lib/parser/base.rb#119



748
# File 'sorbet/rbi/parser@3.3.8.0.rbi', line 748

def source_buffer; end

#static_env ⇒ Parser::StaticEnvironment

source://parser//lib/parser/base.rb#118

Возвращает:

  • (Parser::StaticEnvironment)


754
# File 'sorbet/rbi/parser@3.3.8.0.rbi', line 754

def static_env; end

#tokenize(source_buffer, recover = T.unsafe(nil)) ⇒ Array

Разбирает буфер исходного кода и возвращает AST, комментарии в исходном коде и токены, выданные лексическим анализатором. В случае фатальной ошибки возникает исключение SyntaxError, если только recover не равно true. В случае ошибки (нефатальной или восстановленной) вместо AST возвращается nil, а комментарии и токены возвращаются только до места возникновения ошибки.

В настоящее время формат потока токенов, возвращаемого методом #tokenize, не документирован, но считается частью публичного API и изменяется только в соответствии с семантическим версионированием.

Однако обратите внимание, что точный состав токенов для различных конструкций может различаться. Например, строка "foo" может быть одинаково хорошо представлена как :tSTRING_BEG " :tSTRING_CONTENT foo :tSTRING_END " и :tSTRING "foo"; на такие детали не следует полагаться.

source://parser//lib/parser/base.rb#236

Параметры:

  • source_buffer (Parser::Source::Buffer)
  • recover (Boolean) (по умолчанию: T.unsafe(nil)) —

    Если true, выполняется восстановление после синтаксических ошибок. По умолчанию — false.

Возвращает:

  • (Array)


778
# File 'sorbet/rbi/parser@3.3.8.0.rbi', line 778

def tokenize(source_buffer, recover = T.unsafe(nil)); end

© 2009–present Homebrew contributors
Licensed under the BSD 2-Clause License.
https://docs.brew.sh/rubydoc/Parser/Base.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API