Module: Plurimath::BaseNumberPrefix::Parser

Included in:
Asciimath::Parse, Html::Parse, Latex::Parse, UnicodeMath::Parse
Defined in:
lib/plurimath/base_number_prefix.rb

Overview

Adds Parslet parser rules for hex/binary/octal prefixed literals. Include in any Parslet::Parser subclass.

Class Method Summary collapse

Class Method Details

.included(base) ⇒ Object



13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/plurimath/base_number_prefix.rb', line 13

def self.included(base)
  base.class_eval do
    rule(:hex_number) do
      (str("0x") | str("0X")) >> match["0-9a-fA-F"].repeat(1).as(:hex_number)
    end

    rule(:binary_number) do
      (str("0b") | str("0B")) >> match["01"].repeat(1).as(:binary_number)
    end

    rule(:octal_number) do
      (str("0o") | str("0O")) >> match["0-7"].repeat(1).as(:octal_number)
    end
  end
end