Class: Rules::Syntax

Inherits:
Object
  • Object
show all
Defined in:
lib/rules.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#errorsObject (readonly)

Returns the value of attribute errors.



207
208
209
# File 'lib/rules.rb', line 207

def errors
  @errors
end

Instance Method Details

#analyze(lexem_seq) ⇒ Object



266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
# File 'lib/rules.rb', line 266

def analyze(lexem_seq)
  @errors = []
  sp = nil
  lp = 0
  while lp < lexem_seq.length and !lexem_seq[lp + 1].nil? do
    sp = @syntax[lexem_seq[lp][:lexem]]
    sp.each do |s|
      break if s == lexem_seq[lp + 1][:lexem]
      if s.nil?
        @errors << {
          :message => @error_msg[:incorrect_syntax],
          :lexem => lexem_seq[lp + 1]} if @errors.length < 5
        break
      end
    end 
    lp += 1
    @cls.send(@mth, 20 + lp * 20 / lexem_seq.length ) unless @cls.nil?
  end
end

#set_progress_callback(classp, mth) ⇒ Object



286
287
288
289
# File 'lib/rules.rb', line 286

def set_progress_callback(classp, mth)
  @cls = classp
  @mth = mth
end