Module: Fbtxt
- Defined in:
- lib/fbtxt/parser.rb,
lib/fbtxt/parser.rb,
lib/fbtxt/parser/lexer.rb,
lib/fbtxt/parser/token.rb,
lib/fbtxt/parser/parser.rb,
lib/fbtxt/parser/version.rb,
lib/fbtxt/parser/token-geo.rb,
lib/fbtxt/parser/parse_tree.rb,
lib/fbtxt/parser/parser-top.rb,
lib/fbtxt/parser/token-date.rb,
lib/fbtxt/parser/token-note.rb,
lib/fbtxt/parser/token-prop.rb,
lib/fbtxt/parser/token-text.rb,
lib/fbtxt/parser/token-time.rb,
lib/fbtxt/parser/lexer_token.rb,
lib/fbtxt/parser/token-goals.rb,
lib/fbtxt/parser/token-group.rb,
lib/fbtxt/parser/token-round.rb,
lib/fbtxt/parser/token-score.rb,
lib/fbtxt/parser/lexer-logger.rb,
lib/fbtxt/parser/lexer-on_top.rb,
lib/fbtxt/parser/lexer_buffer.rb,
lib/fbtxt/parser/token-status.rb,
lib/fbtxt/parser/lexer-on_goal.rb,
lib/fbtxt/parser/lexer-prep_doc.rb,
lib/fbtxt/parser/lexer-tokenize.rb,
lib/fbtxt/parser/lexer-prep_line.rb,
lib/fbtxt/parser/token-prop_name.rb,
lib/fbtxt/parser/parse_tree-match.rb,
lib/fbtxt/parser/parse_tree-props.rb,
lib/fbtxt/parser/token-score_full.rb,
lib/fbtxt/parser/token-score_legs.rb,
lib/fbtxt/parser/token-date--names.rb,
lib/fbtxt/parser/lexer-on_group_def.rb,
lib/fbtxt/parser/lexer-on_prop_misc.rb,
lib/fbtxt/parser/lexer-on_round_def.rb,
lib/fbtxt/parser/token-score_fuller.rb,
lib/fbtxt/parser/token-date--helpers.rb,
lib/fbtxt/parser/token-date_duration.rb,
lib/fbtxt/parser/token-status_inline.rb,
lib/fbtxt/parser/lexer-on_prop_lineup.rb,
lib/fbtxt/parser/token-goals--helpers.rb,
lib/fbtxt/parser/token-score--helpers.rb,
lib/fbtxt/parser/lexer-on_prop_penalties.rb
Overview
require 'racc/parser.rb'
Defined Under Namespace
Modules: Module Classes: Lexer, LexerResult, Parser, ParserResult, Tokens
Class Method Summary collapse
-
.lex(txt, flatten: true) ⇒ Object
returns Fbtxt::LexerResult (ok?/tokens/errors).
-
.parse(txt) ⇒ Object
returns Fbtxt::ParserResult (ok?/tree/errors).
Class Method Details
.lex(txt, flatten: true) ⇒ Object
returns Fbtxt::LexerResult (ok?/tokens/errors)
120 121 122 123 124 125 |
# File 'lib/fbtxt/parser.rb', line 120 def self.lex( txt, flatten: true ) ## returns Fbtxt::LexerResult (ok?/tokens/errors) lexer = Lexer.new( txt ) ## move "wrapping" into result obj inside lexer - why? why not? tokens, errors = lexer.tokenize_with_errors( flatten: flatten ) LexerResult.new( tokens, errors ) end |
.parse(txt) ⇒ Object
returns Fbtxt::ParserResult (ok?/tree/errors)
127 128 129 130 131 132 |
# File 'lib/fbtxt/parser.rb', line 127 def self.parse( txt ) ## returns Fbtxt::ParserResult (ok?/tree/errors) parser = Parser.new( txt ) ## move "wrapping" into result obj inside parser - why? why not? tree, errors = parser.parse_with_errors ParserResult.new( tree, errors ) end |