Sha256: 96cfb1aa137fa7b2275c9e720d26f979c9ab1bf1845a10bb0e840ff6ea13d40f
Contents?: true
Size: 1.32 KB
Versions: 35
Compression:
Stored size: 1.32 KB
Contents
class P rule a: A { # comment test # comment test # string @sstring = 'squote string' @dstring = 'dquote string' # regexp @regexp = /some regexp with spaces/ # gvar /regexp/ === 'some regexp matches to this string' @pre_match = $` @matched = $& @post_match = $' @m = $~ # braces @array = [] [1,2,3].each {|i| @array.push i } 3.times { @array.push 10 } } end ---- inner def parse @sstring = @dstring = nil @regexp = nil @pre_match = @matched = @post_match = @m = nil @src = [[:A, 'A'], [false, '$']] do_parse assert_equal 'squote string', @sstring assert_equal 'dquote string', @dstring assert_equal(/some regexp with spaces/, @regexp) assert_equal 'some ', @pre_match assert_equal 'regexp', @matched assert_equal ' matches to this string', @post_match assert_instance_of MatchData, @m end def assert_equal(ok, data) unless ok == data raise "expected <#{ok.inspect}> but is <#{data.inspect}>" end end def assert_instance_of(klass, obj) unless obj.instance_of?(klass) raise "expected #{klass} but is #{obj.class}" end end def next_token @src.shift end ---- footer P.new.parse
Version data entries
35 entries across 30 versions & 5 rubygems