Module: Fa

Defined in:
lib/fa.rb,
lib/fa/version.rb

Defined Under Namespace

Modules: FFI Classes: Automaton, Error, OutOfMemoryError

Constant Summary collapse

VERSION =
"0.1.0"

Class Method Summary collapse

Class Method Details

.compile(rx) ⇒ Object

Raises:



105
106
107
108
109
110
# File 'lib/fa.rb', line 105

def self.compile(rx)
  faptr = ::FFI::MemoryPointer.new :pointer
  r = FFI::compile(rx, rx.size, faptr)
  raise Error if r < 0
  Automaton.new(faptr.get_pointer(0))
end

.make_basic(kind) ⇒ Object

Raises:



112
113
114
115
116
# File 'lib/fa.rb', line 112

def self.make_basic(kind)
  faptr = FFI::make_basic(kind)
  raise OutOfMemoryError if faptr.nil?
  Automaton.new(faptr)
end