Module: Ibex::BisonImport
- Defined in:
- lib/ibex/bison_import.rb,
lib/ibex/bison_import/importer.rb,
lib/ibex/bison_import/tokenizer.rb,
sig/ibex/bison_import.rbs,
sig/ibex/bison_import/importer.rbs,
sig/ibex/bison_import/tokenizer.rbs
Overview
Clean-room, nonexecuting import of Bison grammar structure.
Defined Under Namespace
Classes: Action, BudgetExceeded, Directive, Importer, Result, Tokenizer
Constant Summary collapse
- DIRECTIVES =
{ "token" => :converted, "left" => :converted, "right" => :converted, "nonassoc" => :converted, "precedence" => :converted, "start" => :converted, "expect" => :converted, "expect-rr" => :converted, "empty" => :converted, "prec" => :converted, "nterm" => :recognized_metadata, "type" => :recognized_metadata, "union" => :recognized_metadata, "destructor" => :recognized_metadata, "printer" => :recognized_metadata, "param" => :recognized_metadata, "parse-param" => :recognized_metadata, "lex-param" => :recognized_metadata, "define" => :recognized_metadata, "code" => :recognized_metadata, "dprec" => :unsupported, "merge" => :unsupported, "glr-parser" => :unsupported, "nondeterministic-parser" => :unsupported, "locations" => :unsupported, "initial-action" => :unsupported, "language" => :unsupported, "skeleton" => :unsupported, "require" => :unsupported, "output" => :unsupported, "file-prefix" => :unsupported, "name-prefix" => :unsupported, "verbose" => :unsupported, "yacc" => :unsupported, "debug" => :unsupported, "token-table" => :unsupported, "no-lines" => :unsupported, "header" => :unsupported, "defines" => :unsupported, "error-verbose" => :unsupported, "pure-parser" => :unsupported }.freeze
- FOREIGN_ACTION_SENTINEL =
"__ibex_foreign_action_c__"- STRUCTURAL_STATUS_MARKER =
"ibex-bison-structural-status"- STRUCTURE_NEUTRAL_UNSUPPORTED =
%w[ initial-action locations language skeleton require output file-prefix name-prefix verbose yacc debug token-table no-lines header defines error-verbose pure-parser ].freeze
Class Method Summary collapse
Instance Method Summary collapse
Class Method Details
.bison_source?(source) ⇒ Boolean
192 193 194 |
# File 'lib/ibex/bison_import.rb', line 192 def bison_source?(source) source.lines.count { |line| line.match?(%r{^\s*%%(?:\s|/|$)}) } >= 2 end |
Instance Method Details
#self?.bison_source? ⇒ Boolean
93 |
# File 'sig/ibex/bison_import.rbs', line 93
def self?.bison_source?: (String source) -> bool
|