Table of Contents - sequitur-0.1.27 Documentation
Pages
-
README
- Sequitur
- What is the Sequitur algorithm?
- Highlights
- The theory in a nutshell
- Synopsis
- To display the grammar rules on the console output
- We use a grammar formatter
- Now render the rules. Each rule is displayed with the format:
- rule_id : a_sequence_grammar_symbols.
- Where:
- - rule_id is either ‘start’ or a name like ‘Pxxxx’ (xxxx is a sequential number)
- - a grammar symbol is either a terminal symbol
- (i.e. a character from the input) or a rule id
- Rendered output is:
- start : P1 P2 P3 P3 e.
- P1 : a b.
- P2 : P1 c.
- P3 : P2 d.
- Count the number of productions in the grammar
- Retrieve all productions of the grammar
- Retrieve the start production
- …Continuing the same example
- Retrieve the right-hand side of the production
- Purpose: demo of Sequitur with a stream of integer values
- Generate the grammar from the sequence
- Use a formatter to display the grammar rules on the console output
- Now render the rules
- Rendered output is:
- start : P1 P2 P3 P3 5.
- P1 : 1 2.
- P2 : P1 3.
- P3 : P2 4.
- Playing a bit with the API
- Access last symbol from rhs of start production:
- Access first symbol from rhs of P1 production:
- Copyright
Classes and Modules
- Sequitur
- Sequitur::Digram
- Sequitur::DynamicGrammar
- Sequitur::Formatter
- Sequitur::Formatter::BaseFormatter
- Sequitur::Formatter::BaseText
- Sequitur::Formatter::Debug
- Sequitur::GrammarVisitor
- Sequitur::Production
- Sequitur::ProductionRef
- Sequitur::SequiturGrammar
- Sequitur::SymbolSequence
Methods
- ::build_from — Sequitur
- ::new — Sequitur::Digram
- ::new — Sequitur::DynamicGrammar
- ::new — Sequitur::Formatter::BaseFormatter
- ::new — Sequitur::Formatter::BaseText
- ::new — Sequitur::Formatter::Debug
- ::new — Sequitur::GrammarVisitor
- ::new — Sequitur::Production
- ::new — Sequitur::ProductionRef
- ::new — Sequitur::SequiturGrammar
- ::new — Sequitur::SymbolSequence
- #<< — Sequitur::SymbolSequence
- #== — Sequitur::Digram
- #== — Sequitur::Production
- #== — Sequitur::ProductionRef
- #== — Sequitur::SymbolSequence
- #[] — Sequitur::SymbolSequence
- #accept — Sequitur::DynamicGrammar
- #accept — Sequitur::Production
- #accept — Sequitur::ProductionRef
- #accept — Sequitur::SymbolSequence
- #add_production — Sequitur::DynamicGrammar
- #add_token — Sequitur::DynamicGrammar
- #after_grammar — Sequitur::Formatter::Debug
- #after_non_terminal — Sequitur::Formatter::Debug
- #after_production — Sequitur::Formatter::BaseText
- #after_production — Sequitur::Formatter::Debug
- #after_rhs — Sequitur::Formatter::Debug
- #after_terminal — Sequitur::Formatter::Debug
- #append_symbol — Sequitur::Production
- #append_symbol_to — Sequitur::DynamicGrammar
- #before_grammar — Sequitur::Formatter::BaseText
- #before_grammar — Sequitur::Formatter::Debug
- #before_non_terminal — Sequitur::Formatter::BaseText
- #before_non_terminal — Sequitur::Formatter::Debug
- #before_production — Sequitur::Formatter::BaseText
- #before_production — Sequitur::Formatter::Debug
- #before_rhs — Sequitur::Formatter::BaseText
- #before_rhs — Sequitur::Formatter::Debug
- #before_terminal — Sequitur::Formatter::BaseText
- #before_terminal — Sequitur::Formatter::Debug
- #bind_to — Sequitur::ProductionRef
- #broadcast — Sequitur::GrammarVisitor
- #build_production_for — Sequitur::SequiturGrammar
- #clear — Sequitur::SymbolSequence
- #clear_rhs — Sequitur::Production
- #decr_refcount — Sequitur::Production
- #dedent — Sequitur::Formatter::Debug
- #delete_at — Sequitur::SymbolSequence
- #derive_step — Sequitur::Production
- #detect_collision — Sequitur::SequiturGrammar
- #detect_useless_production — Sequitur::SequiturGrammar
- #empty? — Sequitur::Production
- #empty? — Sequitur::SymbolSequence
- #end_visit_grammar — Sequitur::GrammarVisitor
- #end_visit_production — Sequitur::GrammarVisitor
- #end_visit_rhs — Sequitur::GrammarVisitor
- #enforce_rules — Sequitur::SequiturGrammar
- #hash — Sequitur::ProductionRef
- #incr_refcount — Sequitur::Production
- #indent — Sequitur::Formatter::Debug
- #initialize_copy — Sequitur::ProductionRef
- #initialize_copy — Sequitur::SymbolSequence
- #insert_at — Sequitur::SymbolSequence
- #invalidate_refs — Sequitur::SymbolSequence
- #last_digram — Sequitur::Production
- #output_event — Sequitur::Formatter::Debug
- #positions_of — Sequitur::Production
- #prod_name — Sequitur::Formatter::BaseText
- #recalc_digrams — Sequitur::Production
- #reduce_step — Sequitur::Production
- #reduce_step — Sequitur::SymbolSequence
- #references — Sequitur::Production
- #references — Sequitur::SymbolSequence
- #references_of — Sequitur::Production
- #references_of — Sequitur::SymbolSequence
- #remove_production — Sequitur::DynamicGrammar
- #render — Sequitur::Formatter::BaseFormatter
- #repeated_digram? — Sequitur::Production
- #repeating? — Sequitur::Digram
- #restore_unicity — Sequitur::SequiturGrammar
- #restore_utility — Sequitur::SequiturGrammar
- #single_digram? — Sequitur::Production
- #size — Sequitur::SymbolSequence
- #start — Sequitur::GrammarVisitor
- #start_visit_grammar — Sequitur::GrammarVisitor
- #start_visit_production — Sequitur::GrammarVisitor
- #start_visit_rhs — Sequitur::GrammarVisitor
- #subscribe — Sequitur::GrammarVisitor
- #to_s — Sequitur::ProductionRef
- #to_string — Sequitur::DynamicGrammar
- #to_string — Sequitur::Production
- #to_string — Sequitur::ProductionRef
- #to_string — Sequitur::SymbolSequence
- #unbind — Sequitur::ProductionRef
- #unbound? — Sequitur::ProductionRef
- #unsubscribe — Sequitur::GrammarVisitor
- #visit_prod_ref — Sequitur::GrammarVisitor
- #visit_terminal — Sequitur::GrammarVisitor
- #visitor — Sequitur::DynamicGrammar