Класс: Parser::Base
- Наследует:
- Racc::Parser
- Object
- Racc::Parser
- Parser::Base
- Определено в:
- sorbet/rbi/parser@3.3.8.0.rbi
Обзор
Базовый класс для парсеров, специфичных для конкретной версии.
source://parser//lib/parser/base.rb#19
Прямые известные подклассы
Краткое описание методов класса свернуть
- .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
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
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
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
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
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
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
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
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
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
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
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