module MSFLVisitors

Public Class Methods

get_chewy_clauses(dataset, msfl, visitor = MSFLVisitors::Visitor.new) click to toggle source
# File lib/msfl_visitors.rb, line 8
def get_chewy_clauses(dataset, msfl, visitor = MSFLVisitors::Visitor.new)
  unless dataset.is_a? MSFL::Datasets::Base
    raise ArgumentError, "The first argument to MSFLVisitors.get_chewy_clauses must be a descendant of MSFL::Datasets::Base."
  end
  parser    = MSFLVisitors::Parsers::MSFLParser.new dataset
  converter = MSFL::Converters::Operator.new
  nmsfl     = converter.run_conversions msfl
  ast       = parser.parse nmsfl
  visitor.visit_tree ast
end