class Marker

class Marker

Constants

OPT
RPT

Public Class Methods

gen(segment) click to toggle source
# File lib/ez7gen/structure_parser.rb, line 291
def self.gen(segment)
  marker = nil

  mtch = segment.match(@@match_regex)
  return nil if(!mtch)# done if nothing to match

  # seg = (mtch[Marker:OPT])?mtch[Marker:OPT]:mtch[Marker:RPT]
  if(mtch[Marker::OPT])
    marker = OptionalGroup.new(mtch[Marker::OPT])
    # # check for optional repeating
    if(repeatingSubMarker = Marker.gen(mtch[Marker::OPT]))
     marker= marker.clear.push(repeatingSubMarker)
    end
  elsif(mtch[Marker::RPT])
    marker = RepeatingGroup.new(mtch[Marker::RPT])
  end
  return marker
end
gen1(segment) click to toggle source

decided that segment has subgroups

# File lib/ez7gen/structure_parser.rb, line 260
def self.gen1(segment)
  marker = nil

  # 1 no match - just to cover bases
  marker = whatGroup?(segment)
  return nil if(!marker)# done if nothing to match

  # if(mtch[Marker::OPT])# 2 optional
  #   marker = OptionalGroup.new(mtch[Marker::OPT])
  #   # # check for optional repeating
  # elsif(mtch[Marker::RPT])# 3 repeating
  #   marker = RepeatingGroup.new(mtch[Marker::RPT])
  # end

  # 3 repeating

  # 4 if optional check for optional-repeating

    # if(mtch[Marker::OPT])
    #   marker = OptionalGroup.new(mtch[Marker::OPT])
    #   # # check for optional repeating
    #   if(repeatingSubMarker = Marker.gen(mtch[Marker::OPT]))
    #    marker= marker.clear.push(repeatingSubMarker)
    #   end
    # elsif(mtch[Marker::RPT])
    #   marker = RepeatingGroup.new(mtch[Marker::RPT])
    # end
    return marker

end
mark(group, prnths) click to toggle source

def self.match_for_complex_group(segment)

mtch = segment.match(@@match_regex)

end

# File lib/ez7gen/structure_parser.rb, line 314
def self.mark(group, prnths)
    group = prnths.clone().insert(1,group)
end
whatGroup?(segment) click to toggle source
# File lib/ez7gen/structure_parser.rb, line 318
def self.whatGroup?(segment)
  group = nil
  mtch = segment.match(@@match_regex)
  return group if(!mtch)# done if nothing to match

  if(mtch[Marker::OPT])
     OptionalGroup.new()
   elsif(mtch[Marker::RPT])
     RepeatingGroup.new()
  end

end