28 lines
650 B
Ruby
28 lines
650 B
Ruby
|
require 'syntax'
|
||
|
|
||
|
module Syntax
|
||
|
module Convertors
|
||
|
|
||
|
# The abstract ancestor class for all convertors. It implements a few
|
||
|
# convenience methods to provide a common interface for all convertors.
|
||
|
class Abstract
|
||
|
|
||
|
# A reference to the tokenizer used by this convertor.
|
||
|
attr_reader :tokenizer
|
||
|
|
||
|
# A convenience method for instantiating a new convertor for a
|
||
|
# specific syntax.
|
||
|
def self.for_syntax( syntax )
|
||
|
new( Syntax.load( syntax ) )
|
||
|
end
|
||
|
|
||
|
# Creates a new convertor that uses the given tokenizer.
|
||
|
def initialize( tokenizer )
|
||
|
@tokenizer = tokenizer
|
||
|
end
|
||
|
|
||
|
end
|
||
|
|
||
|
end
|
||
|
end
|