Class: Walrus::Grammar

Inherits:
Walrat::Grammar
  • Object
show all
Defined in:
lib/walrus/grammar.rb,
lib/walrus/compile_error.rb,
lib/walrus/grammar/comment.rb,
lib/walrus/grammar/literal.rb,
lib/walrus/grammar/raw_text.rb,
lib/walrus/grammar/placeholder.rb,
lib/walrus/grammar/def_directive.rb,
lib/walrus/grammar/raw_directive.rb,
lib/walrus/grammar/set_directive.rb,
lib/walrus/grammar/echo_directive.rb,
lib/walrus/grammar/ruby_directive.rb,
lib/walrus/grammar/block_directive.rb,
lib/walrus/grammar/escape_sequence.rb,
lib/walrus/grammar/ruby_expression.rb,
lib/walrus/grammar/slurp_directive.rb,
lib/walrus/grammar/super_directive.rb,
lib/walrus/grammar/import_directive.rb,
lib/walrus/grammar/silent_directive.rb,
lib/walrus/grammar/include_directive.rb,
lib/walrus/grammar/instance_variable.rb,
lib/walrus/grammar/multiline_comment.rb,
lib/walrus/grammar/message_expression.rb,
lib/walrus/grammar/assignment_expression.rb

Overview

The parser is currently quite slow, although perfectly usable. The quickest route to optimizing it may be to replace it with a C parser inside a Ruby extension, possibly generated using Ragel

Defined Under Namespace

Classes: AssignmentExpression, BlockDirective, Comment, CompileError, DefDirective, EchoDirective, EscapeSequence, ImportDirective, IncludeDirective, InstanceVariable, Literal, MessageExpression, MultilineComment, Placeholder, RawDirective, RawText, RubyDirective, RubyExpression, SetDirective, SilentDirective, SlurpDirective, SuperDirective