From 3f5cc3ae69ecad6a6909aad4b553eb958241dd14 Mon Sep 17 00:00:00 2001 From: murphy Date: Wed, 18 Oct 2006 21:48:17 +0000 Subject: Ruby scanner: #{...} delimiters are now :inline_delimiter to solve CSS problem. New token: :inline_delimiter Scanner tests suite revamped: colorization, split up into methods. --- test/scanners/ruby/1.expected.raydebug | 12 +- test/scanners/ruby/besetzung.expected.raydebug | Bin 4628 -> 4642 bytes test/scanners/ruby/class.expected.raydebug | 8 +- test/scanners/ruby/evil.expected.raydebug | 46 +-- test/scanners/ruby/example.expected.raydebug | 80 ++--- test/scanners/ruby/jarh.expected.raydebug | 2 +- test/scanners/ruby/open-inline.expected.raydebug | 2 +- test/scanners/ruby/pleac.expected.raydebug | 410 +++++++++++------------ test/scanners/ruby/quotes.expected.raydebug | 2 +- test/scanners/ruby/strange.expected.raydebug | 36 +- test/scanners/ruby/undef.expected.raydebug | 4 +- 11 files changed, 301 insertions(+), 301 deletions(-) (limited to 'test/scanners/ruby') diff --git a/test/scanners/ruby/1.expected.raydebug b/test/scanners/ruby/1.expected.raydebug index 61e3dbb..6521fc6 100644 --- a/test/scanners/ruby/1.expected.raydebug +++ b/test/scanners/ruby/1.expected.raydebug @@ -311,7 +311,7 @@ comment(=begin ident(str)operator(.)ident(gsub!)operator(()regexpoperator(,) stringoperator(\)) comment(# day) - reserved(if) ident(str)operator(.)ident(sub!)operator(()regexpcontent(\))char(\\S)content(*)delimiter(/)modifier(ino)>operator(,) stringoperator(\)) + reserved(if) ident(str)operator(.)ident(sub!)operator(()regexpcontent(\))char(\\S)content(*)delimiter(/)modifier(ino)>operator(,) stringoperator(\)) ident(wday) operator(=) constant(ABBR_DAYS)operator([)global_variable($1)operator(.)ident(downcase)operator(]) reserved(end) @@ -358,7 +358,7 @@ comment(=begin reserved(if) ident(str)operator(.)ident(sub!)operator(() regexpcontent(\))char(\\S)content(* + ()inlinecontent(\))char(\\S)content(* (?: )char(\\s)content(+ (-?)char(\\d)content(+\) @@ -377,7 +377,7 @@ comment(=begin comment(# us) reserved(elsif) ident(str)operator(.)ident(sub!)operator(() - regexpcontent(\))char(\\S)content(* + regexpcontent(\))char(\\S)content(* )char(\\s)content(+ ()char(\\d)content(+\))char(\\S)content(* (?: @@ -421,7 +421,7 @@ comment(=begin ident(mday) operator(=) global_variable($4)operator(.)ident(to_i) comment(# vms) - reserved(elsif) ident(str)operator(.)ident(sub!)operator(()regexpcontent(\)[^-]*-(-?)char(\\d)content(+\))delimiter(/)modifier(ino)>operator(,) stringoperator(\)) + reserved(elsif) ident(str)operator(.)ident(sub!)operator(()regexpcontent(\)[^-]*-(-?)char(\\d)content(+\))delimiter(/)modifier(ino)>operator(,) stringoperator(\)) ident(mday) operator(=) global_variable($1)operator(.)ident(to_i) ident(mon) operator(=) constant(ABBR_MONTHS)operator([)global_variable($2)operator(.)ident(downcase)operator(]) ident(year) operator(=) global_variable($3)operator(.)ident(to_i) @@ -643,7 +643,7 @@ ident(require) string ident(a) operator(=) operator([)integer(2)operator(,) integer(3)operator(,) integer(5)operator(,) integer(7)operator(,) integer(11)operator(]) ident(b) operator(=) string constant(SyncEnumerator)operator(.)ident(new)operator(()ident(a)operator(,) ident(b)operator(\))operator(.)ident(each) operator({) operator(|)ident(i)operator(,) ident(j)operator(|) - ident(puts) stringcontent( & )inlinedelimiter(")> + ident(puts) stringcontent( & )inlinedelimiter(")> operator(}) reserved(class) class(Signature) operator(<) constant(Array) @@ -727,5 +727,5 @@ reserved(end) global_variable($trace) operator(=) pre_constant(false) ident(test_grammars)operator(.)ident(each_with_index) reserved(do) operator(|)ident(g)operator(,) ident(i)operator(|) - ident(puts) stringcontent( is )inline reserved(if) ident(g)operator(.)ident(ll1?)delimiter(})>content(LL(1\).)delimiter(")> + ident(puts) stringcontent( is )inline reserved(if) ident(g)operator(.)ident(ll1?)inline_delimiter(})>content(LL(1\).)delimiter(")> reserved(end) diff --git a/test/scanners/ruby/besetzung.expected.raydebug b/test/scanners/ruby/besetzung.expected.raydebug index 7a69c13..24d8fee 100644 Binary files a/test/scanners/ruby/besetzung.expected.raydebug and b/test/scanners/ruby/besetzung.expected.raydebug differ diff --git a/test/scanners/ruby/class.expected.raydebug b/test/scanners/ruby/class.expected.raydebug index af7a63a..31bc313 100644 --- a/test/scanners/ruby/class.expected.raydebug +++ b/test/scanners/ruby/class.expected.raydebug @@ -34,8 +34,8 @@ reserved(class) class(CodeRaySuite) operator(<) constant(TestCase) ident(highlighter) operator(=) constant(CodeRay)operator(.)ident(html) ident(dir) reserved(do) - reserved(for) ident(input) reserved(in) constant(Dir)operator([)stringdelimiter(")>operator(]) - ident(name) operator(=) constant(File)operator(.)ident(basename)operator(()ident(input)operator(,) stringdelimiter(")>operator(\)) + reserved(for) ident(input) reserved(in) constant(Dir)operator([)stringdelimiter(")>operator(]) + ident(name) operator(=) constant(File)operator(.)ident(basename)operator(()ident(input)operator(,) stringdelimiter(")>operator(\)) ident(output) operator(=) ident(name) operator(+) string ident(code) operator(=) constant(File)operator(.)ident(read)operator(()ident(input)operator(\)) @@ -46,7 +46,7 @@ reserved(class) class(CodeRaySuite) operator(<) constant(TestCase) ident(assert_equal)operator(()ident(expected)operator(,) ident(computed)operator(\)) reserved(else) constant(File)operator(.)ident(open)operator(()ident(output)operator(,) stringoperator(\)) reserved(do) operator(|)ident(f)operator(|) ident(f)operator(.)ident(write) ident(computed) reserved(end) - ident(puts) stringdelimiter(")> + ident(puts) stringdelimiter(")> reserved(end) ident(highlighted) operator(=) ident(highlighter)operator(.)ident(highlight_page) ident(code)operator(,) ident(lang) @@ -66,7 +66,7 @@ reserved(def) method(load_suite) ident(name) reserved(rescue) constant(LoadError) global_variable($stderr)operator(.)ident(puts) stringstring operator(+) ident(name)delimiter(})>content( not found +!! Folder )inline operator(+) ident(name)inline_delimiter(})>content( not found )delimiter( ERR)> pre_constant(false) diff --git a/test/scanners/ruby/evil.expected.raydebug b/test/scanners/ruby/evil.expected.raydebug index 5518de0..cca15dd 100644 --- a/test/scanners/ruby/evil.expected.raydebug +++ b/test/scanners/ruby/evil.expected.raydebug @@ -376,7 +376,7 @@ reserved(def) method(bill)operator(()ident(x)operator(\)) ident(x) reserved(end) ident(p)operator(()ident(bob) stringoperator(\)) reserved(for) ident(bob) reserved(in) operator([)integer(100)operator(]) reserved(do) ident(p)operator(()ident(bob) stringoperator(\)) reserved(end) ident(p)operator(()ident(bob) stringoperator(\)) -reserved(def) method(%)operator(()ident(n)operator(\)) ident(to_s)operator(+)stringdelimiter(")> reserved(end) +reserved(def) method(%)operator(()ident(n)operator(\)) ident(to_s)operator(+)stringdelimiter(")> reserved(end) ident(p)operator(()ident(bill) stringoperator(\)) reserved(begin) ident(sdjkfsjkdfsd)operator(;) reserved(rescue) constant(Object) operator(=)operator(>) ident(bill)operator(;) ident(p)operator(()ident(bill) stringoperator(\)) reserved(end) ident(p)operator(()ident(bill) stringoperator(\)) @@ -386,7 +386,7 @@ reserved(class) class(Object) ident(public) symbol(:`) reserved(def) method(`)operator(()ident(s)operator(\)) - ident(print) stringchar(\\n)delimiter(")> + ident(print) stringchar(\\n)delimiter(")> reserved(end) reserved(end) @@ -630,7 +630,7 @@ end ident(proc) operator({) operator(}) -ident(p) stringdelimiter(})>delimiter(")> +ident(p) stringinline_delimiter(})>delimiter(")> ident(bim) ident(baz) ident(bof) @@ -657,8 +657,8 @@ ident(p)operator(() regexpoperato ident(p)operator(() regexp)delimiter(~)modifier(m)>operator(\)) ident(p) stringstringchar(\\ -)inlinedelimiter( +)inlinechar(\\ +)inlinedelimiter( end)> @@ -671,27 +671,27 @@ ident(proc) operator({) operator(})operator(.)ident(call) -ident(p) stringdelimiter(})>delimiter(")> +ident(p) stringinline_delimiter(})>delimiter(")> ident(bim) ident(baz) ident(bof) ident(foobar3) -ident(p) stringstringstring -delimiter(})>delimiter(")> +inline_delimiter(})>delimiter(")> -ident(p) string operator(;) ident(p) stringdelimiter(})>delimiter(")>string operator(;) ident(p) stringinline_delimiter(})>delimiter(")>stringstring -ident(p) stringoperator(.)ident(each)operator(()stringoperator(\))operator({)operator(|)ident(s)operator(|) stringoperator(+)ident(s)operator(}) delimiter(})>delimiter(")> +ident(p) stringoperator(.)ident(each)operator(()stringoperator(\))operator({)operator(|)ident(s)operator(|) stringoperator(+)ident(s)operator(}) inline_delimiter(})>delimiter(")> ident(jbvd)operator(|)ident(g4543ghb)operator(|)operator(!)instance_variable(@G)global_variable($dfsd)operator(|)ident(fafr)operator(|)ident(e) operator(|)ident(s4e5rrwware)operator(|)constant(BBBBB)operator(|*)operator(&)operator(^)operator(()operator(*&)operator(^)operator(>)stringdelimiter(")> +ident(p) stringdelimiter(")> ident(p) string ident(p) string ident(p) string ident(p) string ident(p) string -ident(p) stringdelimiter(")> +ident(p) stringdelimiter(")> ident(p) string -ident(p) stringdelimiter(])> +ident(p) stringdelimiter(])> ident(p) string -ident(p) shelldelimiter(`)> +ident(p) shelldelimiter(`)> ident(p) shell -ident(p)operator(()regexpdelimiter(/)>operator(\)) +ident(p)operator(()regexpdelimiter(/)>operator(\)) comment(#p(/\\#$a \\#@b \\#@@c \\#{$a+@b+@@c}/\) #moved to w.rb) reserved(class) class(AA)operator(;) reserved(class) class(BB)operator(;) reserved(class) class(CC) @@ -753,7 +753,7 @@ ident(compile_body)operator(=)ident(outvar)operator(=)stringoperator(\)) operator(+) - stringchar(\\n)delimiter(")> + stringchar(\\n)delimiter(")> ident(rescu) integer(-1) reserved(end) @@ -777,7 +777,7 @@ ident(val)operator(=)stringdelimiter(")> +ident(p) stringdelimiter(")> ident(p) string reserved(class) class(Hosts) reserved(end) @@ -893,7 +893,7 @@ ident(p) ident(cls_name) operator(=) operator({)operator(})operator([)symbol(:cl ident(p) ident(foo) -ident(p) stringdelimiter(")> +ident(p) stringdelimiter(")> ident(p) symbol(:p) ident(p)operator(()symbol(:p)operator(\)) ident(p)operator(()symboloperator(\)) @@ -910,7 +910,7 @@ ident(p)operator(()integer(-1)operator(\)) ident(p) string ident(p) string)delimiter(])> ident(i)operator(=)integer(99) -ident(p) string)inlinecontent()char(\\n)delimiter(])> +ident(p) string)inlinecontent()char(\\n)delimiter(])> ident(p)operator(()symbol(:side)operator(=)operator(>)symbol(:top)operator(\)) ident(p) string @@ -933,12 +933,12 @@ reserved(if) pre_constant(false) reserved(end) reserved(if) pre_constant(false) ident(ret) operator(=) stringstringcontent( + @@parts_template = )inlinecontent( def parts_template @@parts_template end - )inlineoperator(\))delimiter(})>content( + )inlineoperator(\))inline_delimiter(})>content( def amrita_expand_and_format(element, context, formatter\) if element.tagname_symbol == :span and element.attrs.size == 0 amrita_expand_and_format1(element, context, formatter\) @@ -950,7 +950,7 @@ reserved(if) pre_constant(false) end def amrita_expand_and_format1(element, context, formatter\) - )inlinecontent( + )inlinecontent( end)delimiter( END)> ident(j)operator(=)integer(55) @@ -1046,7 +1046,7 @@ a)> ident(label)operator(=)stringoperator(;)ident(tab)operator(=)operator([)integer(1)operator(,)integer(2)operator(,)integer(3)operator(]) ident(p) stringstringcontent( = arr = Array.new()inlinecontent(, nil\) +)inlinecontent( = arr = Array.new()inlinecontent(, nil\) str = a = i = nil idx = 0 clist.each do |str| diff --git a/test/scanners/ruby/example.expected.raydebug b/test/scanners/ruby/example.expected.raydebug index e290d06..492a67a 100644 --- a/test/scanners/ruby/example.expected.raydebug +++ b/test/scanners/ruby/example.expected.raydebug @@ -33,9 +33,9 @@ reserved(class) class(Ruby) operator(<) constant(Scanner) ident(add)operator(()constant(RESERVED_WORDS)operator(,) symbol(:reserved)operator(\))operator(.) ident(add)operator(()constant(PREDEFINED_CONSTANTS)operator(,) symbol(:pre_constant)operator(\)) - constant(METHOD_NAME) operator(=) regexpcontent( [?!]? )delimiter(/)modifier(xo)> + constant(METHOD_NAME) operator(=) regexpcontent( [?!]? )delimiter(/)modifier(xo)> constant(METHOD_NAME_EX) operator(=) regexpcontent( # common methods: split, foo=, empty?, gsub! + )inlinecontent( # common methods: split, foo=, empty?, gsub! | )char(\\*)char(\\*)content(? # multiplication and power | [-+~]@? # plus, minus | [)char(\\/)content(%&|^`] # division, modulo or format strings, &and, |or, ^xor, `system` @@ -44,11 +44,11 @@ reserved(class) class(Ruby) operator(<) constant(Scanner) | << | >> # append or shift left, shift right | ===? # simple equality and case equality )delimiter(/)modifier(ox)> - constant(GLOBAL_VARIABLE) operator(=) regexpcontent( | )char(\\d)content(+ | [~&+`'=)char(\\/)content(,;_.<>!@0$?*":F)char(\\\\)content(] | -[a-zA-Z_0-9] \) )delimiter(/)modifier(ox)> + constant(GLOBAL_VARIABLE) operator(=) regexpcontent( | )char(\\d)content(+ | [~&+`'=)char(\\/)content(,;_.<>!@0$?*":F)char(\\\\)content(] | -[a-zA-Z_0-9] \) )delimiter(/)modifier(ox)> constant(DOUBLEQ) operator(=) regexp constant(SINGLEQ) operator(=) regexp - constant(STRING) operator(=) regexpcontent( | )inlinecontent( )delimiter(/)modifier(ox)> + constant(STRING) operator(=) regexpcontent( | )inlinecontent( )delimiter(/)modifier(ox)> constant(SHELL) operator(=) regexp constant(REGEXP) operator(=) regexp @@ -57,9 +57,9 @@ reserved(class) class(Ruby) operator(<) constant(Scanner) constant(HEXADECIMAL) operator(=) regexp constant(BINARY) operator(=) regexp - constant(EXPONENT) operator(=) regexpcontent( )delimiter(/)modifier(ox)> - constant(FLOAT) operator(=) regexpcontent( (?: )inlinecontent( | )char(\\.)content( )inlinecontent( )inlinecontent(? \) )delimiter(/)> - constant(INTEGER) operator(=) regexpcontent(|)inlinecontent(|)inlinecontent(|)inlinedelimiter(/)> + constant(EXPONENT) operator(=) regexpcontent( )delimiter(/)modifier(ox)> + constant(FLOAT) operator(=) regexpcontent( (?: )inlinecontent( | )char(\\.)content( )inlinecontent( )inlinecontent(? \) )delimiter(/)> + constant(INTEGER) operator(=) regexpcontent(|)inlinecontent(|)inlinecontent(|)inlinedelimiter(/)> reserved(def) method(reset) reserved(super) @@ -75,7 +75,7 @@ reserved(class) class(Ruby) operator(<) constant(Scanner) instance_variable(@regexp_allowed) operator(=) symbol(:set) reserved(if) instance_variable(@regexp_allowed) reserved(or) instance_variable(@scanner)operator(.)ident(matched)operator(.)ident(index)operator(()integer(?\\n)operator(\)) comment(# delayed flag setting) reserved(elsif) instance_variable(@state) operator(==) symbol(:def_expected) - reserved(if) instance_variable(@scanner)operator(.)ident(scan)operator(()regexpcontent((?:)char(\\.)content(|::\)\)* | (?:@@?|$\)? )inlinecontent((?:)char(\\.)content(|::\) \) )inlinecontent( )delimiter(/)modifier(ox)>operator(\)) + reserved(if) instance_variable(@scanner)operator(.)ident(scan)operator(()regexpcontent((?:)char(\\.)content(|::\)\)* | (?:@@?|$\)? )inlinecontent((?:)char(\\.)content(|::\) \) )inlinecontent( )delimiter(/)modifier(ox)>operator(\)) ident(kind) operator(=) symbol(:method) instance_variable(@state) operator(=) symbol(:initial) reserved(else) @@ -87,7 +87,7 @@ reserved(class) class(Ruby) operator(<) constant(Scanner) reserved(if) instance_variable(@scanner)operator(.)ident(scan)operator(()regexpoperator(\)) ident(kind) operator(=) symbol(:operator) reserved(else) - reserved(if) instance_variable(@scanner)operator(.)ident(scan)operator(()regexpcontent( (?:)char(\\.)content(|::\)\)* )inlinecontent( )delimiter(/)modifier(ox)>operator(\)) + reserved(if) instance_variable(@scanner)operator(.)ident(scan)operator(()regexpcontent( (?:)char(\\.)content(|::\)\)* )inlinecontent( )delimiter(/)modifier(ox)>operator(\)) ident(kind) operator(=) symbol(:method) reserved(else) instance_variable(@scanner)operator(.)ident(getch) @@ -99,9 +99,9 @@ reserved(class) class(Ruby) operator(<) constant(Scanner) comment(# IDENTIFIERS, KEYWORDS) reserved(if) instance_variable(@scanner)operator(.)ident(scan)operator(()constant(GLOBAL_VARIABLE)operator(\)) ident(kind) operator(=) symbol(:global_variable) - reserved(elsif) instance_variable(@scanner)operator(.)ident(scan)operator(()regexpcontent( )delimiter(/)modifier(ox)>operator(\)) + reserved(elsif) instance_variable(@scanner)operator(.)ident(scan)operator(()regexpcontent( )delimiter(/)modifier(ox)>operator(\)) ident(kind) operator(=) symbol(:class_variable) - reserved(elsif) instance_variable(@scanner)operator(.)ident(scan)operator(()regexpcontent( )delimiter(/)modifier(ox)>operator(\)) + reserved(elsif) instance_variable(@scanner)operator(.)ident(scan)operator(()regexpcontent( )delimiter(/)modifier(ox)>operator(\)) ident(kind) operator(=) symbol(:instance_variable) reserved(elsif) instance_variable(@scanner)operator(.)ident(scan)operator(()regexpoperator(\)) ident(kind) operator(=) symbol(:comment) @@ -144,7 +144,7 @@ reserved(class) class(Ruby) operator(<) constant(Scanner) instance_variable(@scanner)operator(.)ident(scan)operator(()constant(REGEXP)operator(\)) ident(kind) operator(=) symbol(:regexp) regexp#)char(\\\\)char(\\\\)content(]*(?:(?:#)char(\\{)content(.*?)char(\\})content(|#|)char(\\\\)char(\\\\)content(.\)[^>#)char(\\\\)char(\\\\)content(]*\)*>?|([^a-zA-Z)char(\\\\)char(\\\\)content(]\)(?:(?!)char(\\1)content(\)[^#)char(\\\\)char(\\\\)content(]\)*(?:(?:#)char(\\{)content(.*?)char(\\})content(|#|)char(\\\\)char(\\\\)content(.\)(?:(?!)char(\\1)content(\)[^#)char(\\\\)char(\\\\)content(]\)*\)*)char(\\1)content(?\)|)char(\\()content([^\)#)char(\\\\)char(\\\\)content(]*(?:(?:#)char(\\{)content(.*?)char(\\})content(|#|)char(\\\\)char(\\\\)content(.\)[^\)#)char(\\\\)char(\\\\)content(]*\)*)char(\\\))content(?|)char(\\[)content([^)char(\\])content(#)char(\\\\)char(\\\\)content(]*(?:(?:#)char(\\{)content(.*?)char(\\})content(|#|)char(\\\\)char(\\\\)content(.\)[^)char(\\])content(#)char(\\\\)char(\\\\)content(]*\)*)char(\\])content(?|)char(\\{)content([^}#)char(\\\\)char(\\\\)content(]*(?:(?:#)char(\\{)content(.*?)char(\\})content(|#|)char(\\\\)char(\\\\)content(.\)[^}#)char(\\\\)char(\\\\)content(]*\)*)char(\\})content(?|<[^>#)char(\\\\)char(\\\\)content(]*(?:(?:#)char(\\{)content(.*?)char(\\})content(|#|)char(\\\\)char(\\\\)content(.\)[^>#)char(\\\\)char(\\\\)content(]*\)*>?|([^a-zA-Z)char(\\s)char(\\\\)char(\\\\)content(]\)(?:(?!)char(\\2)content(\)[^#)char(\\\\)char(\\\\)content(]\)*(?:(?:#)char(\\{)content(.*?)char(\\})content(|#|)char(\\\\)char(\\\\)content(.\)(?:(?!)char(\\2)content(\)[^#)char(\\\\)char(\\\\)content(]\)*\)*)char(\\2)content(?|)char(\\\\)char(\\\\)content([^#)char(\\\\)char(\\\\)content(]*(?:(?:#)char(\\{)content(.*?)char(\\})content(|#\)[^#)char(\\\\)char(\\\\)content(]*\)*)char(\\\\)char(\\\\)content(?\))delimiter(/)> - reserved(elsif) instance_variable(@scanner)operator(.)ident(scan)operator(()regexpcontent(|)inlinecontent(|)inlinecontent(\))delimiter(/)modifier(ox)>operator(\)) + reserved(elsif) instance_variable(@scanner)operator(.)ident(scan)operator(()regexpcontent(|)inlinecontent(|)inlinecontent(\))delimiter(/)modifier(ox)>operator(\)) ident(kind) operator(=) symbol(:symbol) reserved(elsif) instance_variable(@scanner)operator(.)ident(scan)operator(()regexp -constant(RWEB) operator(=) stringdelimiter(")> +constant(RWEB) operator(=) stringdelimiter(")> comment(#require 'rwebcookie' -> edit by bunny :-\)) @@ -1246,7 +1246,7 @@ reserved(class) class(Rweb) reserved(begin) reserved(yield) reserved(rescue) constant(Exception) operator(=)operator(>) ident(exception) - global_variable($stderr)operator(.)ident(puts) stringcontent(\): )inlinedelimiter(")> + global_variable($stderr)operator(.)ident(puts) stringcontent(\): )inlinedelimiter(")> global_variable($stderr)operator(.)ident(puts) ident(exception)operator(.)ident(backtrace)operator(.)ident(join)operator(()stringoperator(\)) reserved(unless) instance_variable(@output_started) @@ -1268,15 +1268,15 @@ reserved(class) class(Rweb) pre_constant(self)operator(.)ident(puts) stringInternal Server Error)delimiter(")> pre_constant(self)operator(.)ident(puts) stringThe server encountered an exception and was unable to complete your request.

)delimiter(")> pre_constant(self)operator(.)ident(puts) stringThe exception has provided the following information:

)delimiter(")> - pre_constant(self)operator(.)ident(puts) string)inlinecontent(: )inlinecontent( on)delimiter(")> + pre_constant(self)operator(.)ident(puts) string)inlinecontent(: )inlinecontent( on)delimiter(")> pre_constant(self)operator(.)ident(puts) - pre_constant(self)operator(.)ident(puts) stringoperator(\))delimiter(})>content()delimiter(")> + pre_constant(self)operator(.)ident(puts) stringoperator(\))inline_delimiter(})>content()delimiter(")> pre_constant(self)operator(.)ident(puts) string)delimiter(")> pre_constant(self)operator(.)ident(puts) string)delimiter(")> reserved(else) pre_constant(self)operator(.)ident(puts) string pre_constant(self)operator(.)ident(puts) string - pre_constant(self)operator(.)ident(puts) stringcontent(: )inlinedelimiter(")> + pre_constant(self)operator(.)ident(puts) stringcontent(: )inlinedelimiter(")> pre_constant(self)operator(.)ident(puts) pre_constant(self)operator(.)ident(puts) ident(exception)operator(.)ident(backtrace)operator(.)ident(join)operator(()stringoperator(\)) reserved(end) @@ -1288,7 +1288,7 @@ reserved(class) class(Rweb) reserved(unless) instance_variable(@output_started) reserved(unless) instance_variable(@header)operator(.)ident(has_key?)operator(()stringoperator(\)) - pre_constant(self)operator(.)ident(header)operator(()stringdelimiter(")>operator(\)) + pre_constant(self)operator(.)ident(header)operator(()stringdelimiter(")>operator(\)) reserved(end) ident(sendHeaders) @@ -1320,9 +1320,9 @@ reserved(class) class(Rweb) constant(Cookie)operator(.)ident(disallow) comment(# no more cookies can be set or modified) reserved(if) operator(!)operator(()instance_variable(@settings)operator(.)ident(has_key?)operator(()stringoperator(\)) reserved(and) instance_variable(@settings)operator([)stringoperator(]) operator(==) pre_constant(true)operator(\)) reserved(and) operator(!)instance_variable(@header)operator(.)ident(has_key?)operator(()stringoperator(\)) reserved(if) instance_variable(@mod_ruby) - ident(header)operator(()stringcontent( (Ruby/)inlinecontent(, )inlinecontent(\))delimiter(")>operator(\))operator(;) + ident(header)operator(()stringcontent( (Ruby/)inlinecontent(, )inlinecontent(\))delimiter(")>operator(\))operator(;) reserved(else) - ident(header)operator(()stringcontent( (Ruby/)inlinecontent(\))delimiter(")>operator(\))operator(;) + ident(header)operator(()stringcontent( (Ruby/)inlinecontent(\))delimiter(")>operator(\))operator(;) reserved(end) reserved(end) @@ -1332,7 +1332,7 @@ reserved(class) class(Rweb) reserved(end) reserved(if) instance_variable(@status) operator(!=) pre_constant(nil) - global_variable($stdout)operator(.)ident(print) stringcontent( )inlinechar(\\r)char(\\n)delimiter(")> + global_variable($stdout)operator(.)ident(print) stringcontent( )inlinechar(\\r)char(\\n)delimiter(")> reserved(end) instance_variable(@header)operator(.)ident(each) reserved(do) operator(|)ident(key)operator(,) ident(value)operator(|) @@ -1343,7 +1343,7 @@ reserved(class) class(Rweb) string operator(+) ident(char)operator([)integer(1)operator(,)integer(1)operator(])operator(.)ident(upcase) reserved(end) - global_variable($stdout)operator(.)ident(print) stringcontent(: )inlinechar(\\r)char(\\n)delimiter(")> + global_variable($stdout)operator(.)ident(print) stringcontent(: )inlinechar(\\r)char(\\n)delimiter(")> reserved(end) ident(cookies) operator(=) constant(Cookie)operator(.)ident(getHttpHeader) comment(# Get all cookies as an HTTP Header) reserved(if) ident(cookies) @@ -1361,7 +1361,7 @@ reserved(class) class(Rweb) reserved(end) reserved(if) instance_variable(@status) operator(!=) pre_constant(nil) - ident(r)operator(.)ident(status_line) operator(=) stringcontent( )inlinedelimiter(")> + ident(r)operator(.)ident(status_line) operator(=) stringcontent( )inlinedelimiter(")> reserved(end) ident(r)operator(.)ident(send_http_header) @@ -1372,7 +1372,7 @@ reserved(class) class(Rweb) ident(key) operator(=) ident(key)operator(.)ident(gsub)operator(()regexpoperator(\)) reserved(do) operator(|)ident(char)operator(|) string operator(+) ident(char)operator([)integer(1)operator(,)integer(1)operator(])operator(.)ident(upcase) reserved(end) - ident(puts) stringcontent(: )inlinedelimiter(")> + ident(puts) stringcontent(: )inlinedelimiter(")> comment(#r.headers_out[key] = value) reserved(end) reserved(end) @@ -1644,17 +1644,17 @@ reserved(class) class(Cookie) ident(cookie)operator(.)ident(value) operator(=) string reserved(end) comment(# TODO: Name and value should be escaped!) - ident(str) operator(+=) stringcontent(=)inlinedelimiter(")> + ident(str) operator(+=) stringcontent(=)inlinedelimiter(")> reserved(unless) ident(cookie)operator(.)ident(maxage) operator(==) pre_constant(nil) ident(expire) operator(=) constant(Time)operator(.)ident(now) operator(+) ident(cookie)operator(.)ident(maxage) ident(expire)operator(.)ident(gmtime) - ident(str) operator(+=) stringoperator(\))delimiter(})>delimiter(")> + ident(str) operator(+=) stringoperator(\))inline_delimiter(})>delimiter(")> reserved(end) reserved(unless) ident(cookie)operator(.)ident(domain) operator(==) pre_constant(nil) - ident(str) operator(+=) stringdelimiter(")> + ident(str) operator(+=) stringdelimiter(")> reserved(end) reserved(unless) ident(cookie)operator(.)ident(path) operator(==) pre_constant(nil) - ident(str) operator(+=) stringdelimiter(")> + ident(str) operator(+=) stringdelimiter(")> reserved(end) reserved(if) ident(cookie)operator(.)ident(secure) ident(str) operator(+=) string @@ -1676,21 +1676,21 @@ reserved(class) class(Cookie) reserved(end) ident(comma) operator(=) pre_constant(true) - ident(str) operator(+=) stringcontent(=)char(\\")inlinechar(\\")delimiter(")> + ident(str) operator(+=) stringcontent(=)char(\\")inlinechar(\\")delimiter(")> reserved(unless) ident(cookie)operator(.)ident(maxage) operator(==) pre_constant(nil) - ident(str) operator(+=) stringchar(\\")delimiter(")> + ident(str) operator(+=) stringchar(\\")delimiter(")> reserved(end) reserved(unless) ident(cookie)operator(.)ident(domain) operator(==) pre_constant(nil) - ident(str) operator(+=) stringchar(\\")delimiter(")> + ident(str) operator(+=) stringchar(\\")delimiter(")> reserved(end) reserved(unless) ident(cookie)operator(.)ident(path) operator(==) pre_constant(nil) - ident(str) operator(+=) stringchar(\\")delimiter(")> + ident(str) operator(+=) stringchar(\\")delimiter(")> reserved(end) reserved(if) ident(cookie)operator(.)ident(secure) ident(str) operator(+=) string reserved(end) reserved(unless) ident(cookie)operator(.)ident(comment) operator(==) pre_constant(nil) - ident(str) operator(+=) stringchar(\\")delimiter(")> + ident(str) operator(+=) stringchar(\\")delimiter(")> reserved(end) ident(str) operator(+=) string reserved(end) @@ -2181,7 +2181,7 @@ comment(=begin constant(URL_PATTERN) operator(=) regexp)char(\\w)content({3,}\):)char(\\/)char(\\/)content(\))char(\\S)content(+)delimiter(/)> constant(EMAIL_PATTERN) operator(=) regexp[)char(\\w)char(\\-)content(_.]+\)@[)char(\\w)char(\\-)char(\\.)content(]+)char(\\.)char(\\w)content(+)delimiter(/)> - constant(HAS_MAGIC) operator(=) regexpcontent(]|(?i:www|ftp\))delimiter(/)> + constant(HAS_MAGIC) operator(=) regexpcontent(]|(?i:www|ftp\))delimiter(/)> constant(MAGIC_PATTERN) operator(=) constant(Regexp)operator(.)ident(new)operator(()string operator(%) operator([)constant(Smileys)operator(::)constant(MAGIC_SMILEY_PATTERN)operator(,) constant(URL_PATTERN)operator(,) constant(EMAIL_PATTERN)operator(])operator(.)ident(map) operator({) operator(|)ident(pattern)operator(|) @@ -2766,7 +2766,7 @@ reserved(module) class(WhyTheLuckyStiff) symbol(:chapters)operator(,) symbol(:expansion_paks)operator(,) symbol(:encoding)operator(,) symbol(:credits) reserved(def) method([]) ident(x) instance_variable(@lang)operator(.)ident(fetch)operator(()ident(x)operator(\)) reserved(do) - ident(warn) ident(warning) operator(=) stringcontent('!])delimiter(")> + ident(warn) ident(warning) operator(=) stringcontent('!])delimiter(")> ident(warning) reserved(end) reserved(end) @@ -2836,7 +2836,7 @@ comment(# Convert the book to HTML) comment(#) reserved(if) pre_constant(__FILE__) operator(==) global_variable($0) reserved(unless) pre_constant(ARGV)operator([)integer(0)operator(]) - ident(puts) stringcontent( [/path/to/save/html])delimiter(")> + ident(puts) stringcontent( [/path/to/save/html])delimiter(")> ident(exit) reserved(end) @@ -2855,7 +2855,7 @@ reserved(if) pre_constant(__FILE__) operator(==) global_variable($0) comment(# Write chapter pages) ident(chapter_tpl) operator(=) constant(ERB)operator(::)ident(new)operator(() constant(File)operator(.)ident(open)operator(() string operator(\))operator(.)ident(read) operator(\)) ident(book)operator(.)ident(chapters)operator(.)ident(each) reserved(do) operator(|)ident(chapter)operator(|) - constant(File)operator(.)ident(open)operator(() constant(File)operator(.)ident(join)operator(() ident(site_path)operator(,) stringcontent(.html)delimiter(")> operator(\))operator(,) string operator(\)) reserved(do) operator(|)ident(out)operator(|) + constant(File)operator(.)ident(open)operator(() constant(File)operator(.)ident(join)operator(() ident(site_path)operator(,) stringcontent(.html)delimiter(")> operator(\))operator(,) string operator(\)) reserved(do) operator(|)ident(out)operator(|) ident(out) operator(<<) ident(chapter_tpl)operator(.)ident(result) reserved(end) reserved(end) @@ -2864,7 +2864,7 @@ reserved(if) pre_constant(__FILE__) operator(==) global_variable($0) comment(# Write expansion pak pages) ident(expak_tpl) operator(=) constant(ERB)operator(::)ident(new)operator(() constant(File)operator(.)ident(open)operator(() string operator(\))operator(.)ident(read) operator(\)) ident(book)operator(.)ident(expansion_paks)operator(.)ident(each) reserved(do) operator(|)ident(pak)operator(|) - constant(File)operator(.)ident(open)operator(() constant(File)operator(.)ident(join)operator(() ident(site_path)operator(,) stringcontent(.html)delimiter(")> operator(\))operator(,) string operator(\)) reserved(do) operator(|)ident(out)operator(|) + constant(File)operator(.)ident(open)operator(() constant(File)operator(.)ident(join)operator(() ident(site_path)operator(,) stringcontent(.html)delimiter(")> operator(\))operator(,) string operator(\)) reserved(do) operator(|)ident(out)operator(|) ident(out) operator(<<) ident(expak_tpl)operator(.)ident(result)operator(() ident(binding) operator(\)) reserved(end) reserved(end) @@ -3320,7 +3320,7 @@ reserved(class) class(Cube) reserved(def) method(initialize) instance_variable(@sides) operator(=) operator([)operator(]) stringoperator(.)ident(each_with_index) operator({) operator(|)ident(side)operator(,) ident(i)operator(|) - ident(eval)operator(()stringcontent(] = @)inlinecontent( = Side.new()inlinecontent(\))delimiter(")>operator(\)) + ident(eval)operator(()stringcontent(] = @)inlinecontent( = Side.new()inlinecontent(\))delimiter(")>operator(\)) operator(}) instance_variable(@left)operator(.)ident(sides) operator(=) operator([)instance_variable(@top)operator(,) instance_variable(@front)operator(,) instance_variable(@bottom)operator(,) instance_variable(@back)operator(]) instance_variable(@front)operator(.)ident(sides) operator(=) operator([)instance_variable(@top)operator(,) instance_variable(@right)operator(,) instance_variable(@bottom)operator(,) instance_variable(@left)operator(]) @@ -3381,7 +3381,7 @@ reserved(end) comment(#$stdin = DATA) ident(gets)operator(.)ident(to_i)operator(.)ident(times) reserved(do) operator(|)ident(i)operator(|) - ident(puts) stringcontent(:)delimiter(")> + ident(puts) stringcontent(:)delimiter(")> ident(fs) operator(=) string integer(9)operator(.)ident(times) operator({) ident(fs) operator(<<) ident(gets) operator(}) ident(cube) operator(=) constant(Cube)operator(.)ident(new) diff --git a/test/scanners/ruby/jarh.expected.raydebug b/test/scanners/ruby/jarh.expected.raydebug index a1eb7fc..27938b2 100644 --- a/test/scanners/ruby/jarh.expected.raydebug +++ b/test/scanners/ruby/jarh.expected.raydebug @@ -273,7 +273,7 @@ ident(print) ident(sprintf)operator(()stringoperator(.)ident(inspect)operator(\)) -regexpdelimiter(})>delimiter(/)> +regexpinline_delimiter(})>delimiter(/)> ident(print) stringoperator(.)ident(scan)operator(()regexpoperator(\))operator(.)ident(collect)operator({)operator(|)ident(x)operator(|)ident(x)operator([)integer(0)operator(])operator(})operator(.)ident(pack)operator(()stringoperator(\)) diff --git a/test/scanners/ruby/open-inline.expected.raydebug b/test/scanners/ruby/open-inline.expected.raydebug index 03af29e..4db5d06 100644 --- a/test/scanners/ruby/open-inline.expected.raydebug +++ b/test/scanners/ruby/open-inline.expected.raydebug @@ -1,2 +1,2 @@ -string> \ No newline at end of file diff --git a/test/scanners/ruby/pleac.expected.raydebug b/test/scanners/ruby/pleac.expected.raydebug index a738eaa..b1e7762 100644 --- a/test/scanners/ruby/pleac.expected.raydebug +++ b/test/scanners/ruby/pleac.expected.raydebug @@ -79,7 +79,7 @@ ident(a) operator(=) string ident(b) operator(=) ident(a)operator(.)ident(unpack)operator(()stringoperator(\)) ident(b)operator(,) ident(c) operator(=) ident(a)operator(.)ident(unpack)operator(()stringoperator(\)) -ident(puts) stringchar(\\n)inlinechar(\\n)delimiter(")> +ident(puts) stringchar(\\n)inlinechar(\\n)delimiter(")> reserved(def) method(cut2fmt)operator(()operator(*)ident(args)operator(\)) ident(template) operator(=) string @@ -158,7 +158,7 @@ ident(sum) operator(=) integer(0) reserved(for) ident(ascval) reserved(in) ident(string)operator(.)ident(unpack)operator(()stringoperator(\)) comment(# or use Array#each for a pure OO style :\)) ident(sum) operator(+=) ident(ascval) reserved(end) -ident(puts) stringdelimiter(")> comment(# since Ruby will go Bignum if necessary) +ident(puts) stringdelimiter(")> comment(# since Ruby will go Bignum if necessary) comment(# @@INCLUDE@@ include/ruby/slowcat.rb) @@ -185,7 +185,7 @@ stringoperator(.)ident(g ident(rows)operator(,) ident(cols) operator(=) integer(24)operator(,) integer(80) ident(text) operator(=) string -ident(text)operator(.)ident(gsub!)operator(()regexpoperator(\)) operator({) ident(eval)operator(()stringdelimiter(")>operator(\)) operator(}) +ident(text)operator(.)ident(gsub!)operator(()regexpoperator(\)) operator({) ident(eval)operator(()stringdelimiter(")>operator(\)) operator(}) ident(puts) ident(text) stringoperator(.)ident(gsub)operator(()regexpoperator(\)) operator({) integer(2) operator(*) global_variable($&)operator(.)ident(to_i) operator(}) @@ -200,7 +200,7 @@ stringoperator(.)ident(gsu comment(# @@PLEAC@@_1.10) -stringcontent( guanacos.)delimiter(")> +stringcontent( guanacos.)delimiter(")> ident(print) stringoperator(,) ident(n)integer(+1)operator(,) string @@ -262,7 +262,7 @@ reserved(end) ident(line) operator(=) string)> ident(fields) operator(=) ident(parse_csv)operator(()ident(line)operator(\)) ident(fields)operator(.)ident(each_with_index) operator({) operator(|)ident(v)operator(,)ident(i)operator(|) - ident(print) stringcontent( : )inlinechar(\\n)delimiter(")>operator(;) + ident(print) stringcontent( : )inlinechar(\\n)delimiter(")>operator(;) operator(}) @@ -302,7 +302,7 @@ reserved(for) ident(username)operator(,) ident(fullname) reserved(in) ident(logi operator(||) ident(name_code) operator(==) constant(Text)operator(::)constant(Soundex)operator(.)ident(soundex)operator(()ident(firstname)operator(\)) operator(||) ident(name_code) operator(==) constant(Text)operator(::)constant(Soundex)operator(.)ident(soundex)operator(()ident(lastname)operator(\)) reserved(then) - ident(puts) stringcontent(: )inlinecontent( )inlinedelimiter(")> + ident(puts) stringcontent(: )inlinecontent( )inlinedelimiter(")> reserved(end) reserved(end) @@ -346,7 +346,7 @@ comment(# @@PLEAC@@_2.2) comment(# equal(num1, num2, accuracy\) : returns true if num1 and num2 are) comment(# equal to accuracy number of decimal places) reserved(def) method(equal)operator(()ident(i)operator(,) ident(j)operator(,) ident(a)operator(\)) - ident(sprintf)operator(()stringcontent(g)delimiter(")>operator(,) ident(i)operator(\)) operator(==) ident(sprintf)operator(()stringcontent(g)delimiter(")>operator(,) ident(j)operator(\)) + ident(sprintf)operator(()stringcontent(g)delimiter(")>operator(,) ident(i)operator(\)) operator(==) ident(sprintf)operator(()stringcontent(g)delimiter(")>operator(,) ident(j)operator(\)) reserved(end) ident(wage) operator(=) integer(536) comment(# $5.36/hour) @@ -359,8 +359,8 @@ ident(num)operator(.)ident(round) comment(# rounds to in ident(a) operator(=) float(0.255) ident(b) operator(=) ident(sprintf)operator(()stringoperator(,) ident(a)operator(\)) -ident(print) stringchar(\\n)content(Rounded: )inlinechar(\\n)delimiter(")> -ident(printf) stringchar(\\n)content(Rounded: %.2f)char(\\n)delimiter(")>operator(,) ident(a) +ident(print) stringchar(\\n)content(Rounded: )inlinechar(\\n)delimiter(")> +ident(printf) stringchar(\\n)content(Rounded: %.2f)char(\\n)delimiter(")>operator(,) ident(a) ident(print) string ident(a) operator(=) operator([) float(3.3) operator(,) float(3.5) operator(,) float(3.7)operator(,) float(-3.3) operator(]) @@ -444,16 +444,16 @@ reserved(end) ident(roman_fifteen) operator(=) integer(15)operator(.)ident(to_roman) -ident(puts) stringdelimiter(")> +ident(puts) stringdelimiter(")> ident(i) operator(=) constant(Integer)operator(.)ident(from_roman)operator(()ident(roman_fifteen)operator(\)) -ident(puts) stringcontent( is )inlinedelimiter(")> +ident(puts) stringcontent( is )inlinedelimiter(")> comment(# check) reserved(for) ident(i) reserved(in) operator(()integer(1)operator(..)integer(3900)operator(\)) ident(r) operator(=) ident(i)operator(.)ident(to_roman) ident(j) operator(=) constant(Integer)operator(.)ident(from_roman)operator(()ident(r)operator(\)) reserved(if) ident(i) operator(!=) ident(j) - ident(puts) stringcontent( : )inlinecontent( - )inlinedelimiter(")> + ident(puts) stringcontent( : )inlinecontent( - )inlinedelimiter(")> reserved(end) reserved(end) @@ -577,7 +577,7 @@ reserved(def) method(log_base)operator(()ident(base)operator(,) ident(val)operat reserved(end) ident(answer) operator(=) ident(log_base)operator(()integer(10)operator(,) integer(10_000)operator(\)) -ident(puts) stringdelimiter(")> +ident(puts) stringdelimiter(")> comment(# @@PLEAC@@_2.14) @@ -600,12 +600,12 @@ ident(require) string ident(a) operator(=) ident(Complex)operator(()integer(3)operator(,) integer(5)operator(\)) comment(# 3 + 5i) ident(b) operator(=) ident(Complex)operator(()integer(2)operator(,) integer(-2)operator(\)) comment(# 2 - 2i) -ident(puts) stringdelimiter(")> +ident(puts) stringdelimiter(")> ident(c) operator(=) ident(a) operator(*) ident(b) ident(d) operator(=) integer(3) operator(+) integer(4)operator(*)constant(Complex)operator(::)constant(I) -ident(printf) stringcontent(\) = %s)char(\\n)delimiter(")>operator(,) constant(Math)operator(.)ident(sqrt)operator(()ident(d)operator(\)) +ident(printf) stringcontent(\) = %s)char(\\n)delimiter(")>operator(,) constant(Math)operator(.)ident(sqrt)operator(()ident(d)operator(\)) comment(# @@PLEAC@@_2.16) @@ -621,7 +621,7 @@ ident(printf) stringoperator ident(print) string ident(permissions) operator(=) ident(gets)operator(.)ident(chomp) ident(raise) string reserved(unless) reserved(defined?)operator(()ident(permissions)operator(\)) -ident(puts) stringdelimiter(")> +ident(puts) stringdelimiter(")> comment(# @@PLEAC@@_2.17) @@ -729,7 +729,7 @@ ident(bree) operator(=) integer(361535725) ident(nat) operator(=) integer(96201950) ident(difference) operator(=) ident(bree) operator(-) ident(nat) -ident(puts) stringcontent( seconds between Nat and Bree)delimiter(")> +ident(puts) stringcontent( seconds between Nat and Bree)delimiter(")> ident(seconds) operator(=) ident(difference) operator(%) integer(60) ident(difference) operator(=) operator(()ident(difference) operator(-) ident(seconds)operator(\)) operator(/) integer(60) @@ -740,7 +740,7 @@ ident(difference) operator(=) operator(()ident(difference) operator(-) ident(hou ident(days) operator(=) ident(difference) operator(%) integer(7) ident(weeks) operator(=) operator(()ident(difference) operator(-) ident(days)operator(\)) operator(/) integer(7) -ident(puts) stringcontent( weeks, )inlinecontent( days, )inlinecontent(:)inlinecontent(:)inlinecontent(\))delimiter(")> +ident(puts) stringcontent( weeks, )inlinecontent( days, )inlinecontent(:)inlinecontent(:)inlinecontent(\))delimiter(")> comment(# @@PLEAC@@_3.6) @@ -753,7 +753,7 @@ ident(year) operator(=) integer(1981) ident(month) operator(=) string comment(# or `6' if you want to emulate a broken language) ident(day) operator(=) integer(16) ident(t) operator(=) constant(Time)operator(.)ident(mktime)operator(()ident(year)operator(,) ident(month)operator(,) ident(day)operator(\)) -ident(print) stringcontent(/)inlinecontent(/)inlinecontent( was a )delimiter(")>operator(,) ident(t)operator(.)ident(strftime)operator(()stringoperator(\))operator(,) string +ident(print) stringcontent(/)inlinecontent(/)inlinecontent( was a )delimiter(")>operator(,) ident(t)operator(.)ident(strftime)operator(()stringoperator(\))operator(,) string comment(# @@PLEAC@@_3.7) @@ -780,7 +780,7 @@ comment(# Ruby gives the seconds in floating format when substracting two Time o ident(before) operator(=) constant(Time)operator(.)ident(now) ident(line) operator(=) ident(gets) ident(elapsed) operator(=) constant(Time)operator(.)ident(now) operator(-) ident(before) -ident(puts) stringcontent( seconds.)delimiter(")> +ident(puts) stringcontent( seconds.)delimiter(")> comment(# On my Celeron-400 with Linux-2.2.19-14mdk, average for three execs are:) comment(# This Ruby version: average 0.00321 sec) @@ -836,7 +836,7 @@ reserved(class) class(MailHopDelta) ident(hop)operator(.)ident(gsub!)operator(()regexpoperator(,)stringoperator(\)) ident(whence) operator(=) ident(hop)operator(.)ident(match)operator(()regexpoperator(\))operator([)integer(1)operator(]) reserved(unless) ident(whence) - ident(warn) stringdelimiter(")> + ident(warn) stringdelimiter(")> reserved(next) reserved(end) ident(from) operator(=) global_variable($+) reserved(if) ident(hop) operator(=)operator(~) regexp @@ -885,11 +885,11 @@ END_OF_HERE_DOC)> ident(bigarray) operator(=) constant(IO)operator(.)ident(readlines)operator(()stringoperator(\))operator(.)ident(collect) operator({) operator(|)ident(l)operator(|) ident(l)operator(.)ident(chomp) operator(}) ident(name) operator(=) string -ident(banner) operator(=) stringcontent(, and welcome!)delimiter(\))> +ident(banner) operator(=) stringcontent(, and welcome!)delimiter(\))> -ident(host_info) operator(=) shelldelimiter(`)> +ident(host_info) operator(=) shelldelimiter(`)> -shelldelimiter(\))> +shelldelimiter(\))> ident(banner) operator(=) stringoperator(.)ident(split)operator(()stringoperator(\)) @@ -913,10 +913,10 @@ ident(print) stringoperator(,) ident(a comment(# -> I have redyellowgreen marbles) comment(# But unlike Perl:) -ident(print) stringcontent( marbles)char(\\n)delimiter(")> +ident(print) stringcontent( marbles)char(\\n)delimiter(")> comment(# -> I have redyellowgreen marbles) comment(# So, needs:) -ident(print) stringoperator(\))delimiter(})>content( marbles)char(\\n)delimiter(")> +ident(print) stringoperator(\))inline_delimiter(})>content( marbles)char(\\n)delimiter(")> comment(# -> I have red yellow green marbles) comment(#!/usr/bin/ruby) @@ -946,7 +946,7 @@ ident(lists) operator(=) operator([) operator(]) reserved(for) ident(list) reserved(in) ident(lists) reserved(do) - ident(puts) stringcontent(.)delimiter(")> + ident(puts) stringcontent(.)delimiter(")> reserved(end) @@ -964,7 +964,7 @@ ident(ary)operator([)ident(index_new_last_elem)operator(]) operator(=) ident(val reserved(def) method(what_about_that_array)operator(()ident(a)operator(\)) ident(print) stringoperator(,) ident(a)operator(.)ident(size)operator(,) string comment(# Index of last element is not really interesting in Ruby) - ident(print) stringcontent('.)char(\\n)delimiter(")> + ident(print) stringcontent('.)char(\\n)delimiter(")> reserved(end) ident(people) operator(=) string ident(what_about_that_array)operator(()ident(people)operator(\)) @@ -981,7 +981,7 @@ reserved(for) ident(user) reserved(in) ident(bad_users) reserved(end) reserved(for) ident(var) reserved(in) constant(ENV)operator(.)ident(keys)operator(.)ident(sort) - ident(puts) stringcontent(=)inlinedelimiter(")> + ident(puts) stringcontent(=)inlinedelimiter(")> reserved(end) reserved(for) ident(user) reserved(in) ident(all_users) @@ -1015,7 +1015,7 @@ ident(a) operator(=) operator([) operator(.)integer(5)operator(,) integer(3) ope reserved(for) ident(ary) reserved(in) operator([) ident(a)operator(,) ident(b) operator(]) ident(ary)operator(.)ident(collect!) operator({) operator(|)ident(v)operator(|) ident(v) operator(*) integer(7) operator(}) reserved(end) -ident(puts) stringoperator(\))delimiter(})>content( )inlineoperator(\))delimiter(})>delimiter(")> +ident(puts) stringoperator(\))inline_delimiter(})>content( )inlineoperator(\))inline_delimiter(})>delimiter(")> comment(# we can mutate Strings, cool; we need a trick for the scalar) reserved(for) ident(ary) reserved(in) operator([) operator([) ident(scalar) operator(])operator(,) ident(array)operator(,) ident(hash)operator(.)ident(values) operator(]) @@ -1035,7 +1035,7 @@ ident(unique) operator(=) ident(list)operator(.)ident(uniq) comment(# generate a list of users logged in, removing duplicates) ident(users) operator(=) shelloperator(.)ident(collect) operator({) operator(|)ident(l)operator(|) ident(l) operator(=)operator(~) regexpoperator(;) global_variable($1) operator(})operator(.)ident(sort)operator(.)ident(uniq) -ident(puts)operator(()stringdelimiter(")>operator(\)) comment(# see 4.2 for commify_series) +ident(puts)operator(()stringdelimiter(")>operator(\)) comment(# see 4.2 for commify_series) comment(# @@PLEAC@@_4.7) @@ -1130,7 +1130,7 @@ ident(sorted) operator(=) ident(unsorted)operator(.)ident(sort) operator({) oper comment(# let's use the list of my own PID's) shelloperator(.)ident(split)operator(()stringoperator(\))operator([)integer(1)operator(..)integer(-1)operator(])operator(.) - ident(select) operator({) operator(|)ident(i)operator(|) ident(i) operator(=)operator(~) regexpoperator(])delimiter(})>delimiter(/)> operator(})operator(.) + ident(select) operator({) operator(|)ident(i)operator(|) ident(i) operator(=)operator(~) regexpoperator(])inline_delimiter(})>delimiter(/)> operator(})operator(.) ident(collect) operator({) operator(|)ident(i)operator(|) ident(i)operator(.)ident(split)operator([)integer(1)operator(]) operator(})operator(.) ident(sort) operator({) operator(|)ident(a)operator(,)ident(b)operator(|) ident(a)operator(.)ident(to_i) operator(<=>) ident(b)operator(.)ident(to_i) operator(})operator(.)ident(each) operator({) operator(|)ident(i)operator(|) ident(puts) ident(i) operator(}) ident(puts) string @@ -1200,7 +1200,7 @@ reserved(end) ident(processes) operator(=) operator([)integer(1)operator(,) integer(2)operator(,) integer(3)operator(,) integer(4)operator(,) integer(5)operator(]) reserved(while) operator(()integer(1)operator(\)) ident(process) operator(=) ident(grab_and_rotate)operator(()ident(processes)operator(\)) - ident(puts) stringdelimiter(")> + ident(puts) stringdelimiter(")> ident(sleep) integer(1) reserved(end) @@ -1434,7 +1434,7 @@ ident(age)operator([)stringoperator(]) ident(age)operator([)stringoperator(]) operator(=) pre_constant(nil) reserved(for) ident(thing) reserved(in) operator([)stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(]) - ident(print) stringcontent(: )delimiter(")> + ident(print) stringcontent(: )delimiter(")> ident(print) string reserved(if) ident(age)operator(.)ident(has_key?)operator(()ident(thing)operator(\)) ident(print) string reserved(if) ident(age)operator([)ident(thing)operator(]) ident(print) string reserved(if) ident(age)operator([)ident(thing)operator(]) operator(&&) ident(age)operator([)ident(thing)operator(])operator(.)ident(nonzero?) @@ -1468,16 +1468,16 @@ ident(hash)operator(.)ident(each_key) operator({) operator(|)ident(key)operator( operator(}) ident(food_color)operator(.)ident(each) operator({) operator(|)ident(food)operator(,) ident(color)operator(|) - ident(puts) stringcontent( is )inlinedelimiter(")> + ident(puts) stringcontent( is )inlinedelimiter(")> operator(}) ident(food_color)operator(.)ident(each_key) operator({) operator(|)ident(food)operator(|) - ident(puts) stringcontent( is )inlinedelimiter(")> + ident(puts) stringcontent( is )inlinedelimiter(")> operator(}) comment(# IMO this demonstrates that OO style is by far more readable) ident(food_color)operator(.)ident(keys)operator(.)ident(sort)operator(.)ident(each) operator({) operator(|)ident(food)operator(|) - ident(puts) stringcontent( is )inlinecontent(.)delimiter(")> + ident(puts) stringcontent( is )inlinecontent(.)delimiter(")> operator(}) comment(#-----------------------------) @@ -1492,7 +1492,7 @@ reserved(end) comment(# More useful to sort by number of received mail by person) ident(from)operator(.)ident(sort) operator({)operator(|)ident(a)operator(,)ident(b)operator(|) ident(b)operator([)integer(1)operator(])operator(<=>)ident(a)operator([)integer(1)operator(])operator(})operator(.)ident(each) operator({) operator(|)ident(v)operator(|) - ident(puts) stringcontent(: )inlinedelimiter(")> + ident(puts) stringcontent(: )inlinedelimiter(")> operator(}) comment(#-----------------------------) @@ -1502,12 +1502,12 @@ comment(# You may use the built-in 'inspect' method this way:) ident(p) ident(hash) comment(# Or do it the Cookbook way:) -ident(hash)operator(.)ident(each) operator({) operator(|)ident(k)operator(,)ident(v)operator(|) ident(puts) stringcontent( => )inlinedelimiter(")> operator(}) +ident(hash)operator(.)ident(each) operator({) operator(|)ident(k)operator(,)ident(v)operator(|) ident(puts) stringcontent( => )inlinedelimiter(")> operator(}) comment(# Sorted by keys) -ident(hash)operator(.)ident(sort)operator(.)ident(each) operator({) operator(|)ident(e)operator(|) ident(puts) stringcontent( => )inlinedelimiter(")> operator(}) +ident(hash)operator(.)ident(sort)operator(.)ident(each) operator({) operator(|)ident(e)operator(|) ident(puts) stringcontent( => )inlinedelimiter(")> operator(}) comment(# Sorted by values) -ident(hash)operator(.)ident(sort)operator({)operator(|)ident(a)operator(,)ident(b)operator(|) ident(a)operator([)integer(1)operator(])operator(<=>)ident(b)operator([)integer(1)operator(])operator(})operator(.)ident(each) operator({) operator(|)ident(e)operator(|) ident(puts) stringcontent( => )inlinedelimiter(")> operator(}) +ident(hash)operator(.)ident(sort)operator({)operator(|)ident(a)operator(,)ident(b)operator(|) ident(a)operator([)integer(1)operator(])operator(<=>)ident(b)operator([)integer(1)operator(])operator(})operator(.)ident(each) operator({) operator(|)ident(e)operator(|) ident(puts) stringcontent( => )inlinedelimiter(")> operator(}) comment(# @@PLEAC@@_5.7) @@ -1517,7 +1517,7 @@ reserved(for) ident(i) reserved(in) shell operator(()ident(ttys)operator([)ident(user)operator(]) operator(||=) operator([)operator(])operator(\)) operator(<<) ident(tty) comment(# see problems_ruby for more infos) reserved(end) ident(ttys)operator(.)ident(keys)operator(.)ident(sort)operator(.)ident(each) operator({) operator(|)ident(k)operator(|) - ident(puts) stringcontent(: )inlinedelimiter(")> comment(# from 4.2) + ident(puts) stringcontent(: )inlinedelimiter(")> comment(# from 4.2) operator(}) @@ -1541,10 +1541,10 @@ ident(color) operator(=) operator({) operator(}) reserved(if) operator(()ident(color)operator(.)ident(has_key?)operator(()ident(given)operator(\))operator(\)) - ident(puts) stringcontent( is a food with color )inlinecontent(.)delimiter(")> + ident(puts) stringcontent( is a food with color )inlinecontent(.)delimiter(")> reserved(end) reserved(if) operator(()ident(color)operator(.)ident(has_value?)operator(()ident(given)operator(\))operator(\)) - ident(puts) stringcontent( is a food with color )inlinecontent(.)delimiter(")> + ident(puts) stringcontent( is a food with color )inlinecontent(.)delimiter(")> reserved(end) comment(#-----------------------------) @@ -1552,17 +1552,17 @@ comment(#-----------------------------) comment(# @@PLEAC@@_5.9) comment(# Sorted by keys (Hash#sort gives an Array of pairs made of each key,value\)) ident(food_color)operator(.)ident(sort)operator(.)ident(each) operator({) operator(|)ident(f)operator(|) - ident(puts) stringcontent( is )inlinecontent(.)delimiter(")> + ident(puts) stringcontent( is )inlinecontent(.)delimiter(")> operator(}) comment(# Sorted by values) ident(food_color)operator(.)ident(sort) operator({) operator(|)ident(a)operator(,)ident(b)operator(|) ident(a)operator([)integer(1)operator(]) operator(<=>) ident(b)operator([)integer(1)operator(]) operator(})operator(.)ident(each) operator({) operator(|)ident(f)operator(|) - ident(puts) stringcontent( is )inlinecontent(.)delimiter(")> + ident(puts) stringcontent( is )inlinecontent(.)delimiter(")> operator(}) comment(# Sorted by length of values) ident(food_color)operator(.)ident(sort) operator({) operator(|)ident(a)operator(,)ident(b)operator(|) ident(a)operator([)integer(1)operator(])operator(.)ident(length) operator(<=>) ident(b)operator([)integer(1)operator(])operator(.)ident(length) operator(})operator(.)ident(each) operator({) operator(|)ident(f)operator(|) - ident(puts) stringcontent( is )inlinecontent(.)delimiter(")> + ident(puts) stringcontent( is )inlinecontent(.)delimiter(")> operator(}) @@ -1576,7 +1576,7 @@ ident(substance_color) operator(=) operator({)operator(}) reserved(for) ident(i) reserved(in) operator([) ident(food_color)operator(,) ident(drink_color) operator(]) ident(i)operator(.)ident(each_key) operator({) operator(|)ident(k)operator(|) reserved(if) ident(substance_color)operator(.)ident(has_key?)operator(()ident(k)operator(\)) - ident(puts) stringcontent( seen twice. Using the first definition.)delimiter(")> + ident(puts) stringcontent( seen twice. Using the first definition.)delimiter(")> reserved(next) reserved(end) ident(substance_color)operator([)ident(k)operator(]) operator(=) integer(1) @@ -1639,7 +1639,7 @@ ident(father)operator(.)ident(each) operator({) operator(|)ident(k)operator(,)id operator(}) reserved(while) ident(gets) ident(chomp) - ident(puts) stringcontent( begat )inlineoperator(])operator(\))operator(.)ident(join)operator(()stringoperator(\))delimiter(})>content(.)char(\\n)delimiter(")> + ident(puts) stringcontent( begat )inlineoperator(])operator(\))operator(.)ident(join)operator(()stringoperator(\))inline_delimiter(})>content(.)char(\\n)delimiter(")> reserved(end) ident(includes) operator(=) operator({)operator(}) @@ -1763,7 +1763,7 @@ reserved(class) class(Dutree) comment(# passing padding and number width as well) comment(# on recursive calls) reserved(def) method(output)operator(()ident(node)operator(,) ident(prefix)operator(=)stringoperator(,) ident(width)operator(=)integer(0)operator(\)) - ident(line) operator(=) ident(sprintf)operator(()stringcontent(d %s)delimiter(")>operator(,) ident(node)operator(.)ident(size)operator(,) ident(node)operator(.)ident(basename)operator(\)) + ident(line) operator(=) ident(sprintf)operator(()stringcontent(d %s)delimiter(")>operator(,) ident(node)operator(.)ident(size)operator(,) ident(node)operator(.)ident(basename)operator(\)) ident(puts)operator(()ident(prefix) operator(+) ident(line)operator(\)) ident(prefix) operator(+=) ident(line)operator(.)ident(sub)operator(()regexpoperator(,) stringoperator(\)) ident(prefix)operator(.)ident(gsub!)operator(()regexpoperator(,) stringoperator(\)) @@ -1815,7 +1815,7 @@ comment(# ababa) comment(# The "global" (or "multiple"\) match is handled by String#scan) ident(scan) operator(()regexpoperator(\)) operator({) - ident(puts) stringdelimiter(")> + ident(puts) stringdelimiter(")> operator(}) comment(# String#scan yields an Array if not used with a block) @@ -1824,8 +1824,8 @@ ident(numbers) operator(=) ident(scan)operator(()regexp ident(nonlap) operator(=) ident(digits)operator(.)ident(scan)operator(()regexpoperator(\)) ident(yeslap) operator(=) ident(digits)operator(.)ident(scan)operator(()regexpoperator(\)) -ident(puts) stringoperator(\))delimiter(})>delimiter(")> -ident(puts) stringoperator(\))delimiter(})>delimiter(")>operator(;) +ident(puts) stringoperator(\))inline_delimiter(})>delimiter(")> +ident(puts) stringoperator(\))inline_delimiter(})>delimiter(")>operator(;) comment(# Non-overlapping: 123 456 789) comment(# Overlapping: 123 234 345 456 567 678 789) @@ -1870,7 +1870,7 @@ ident(re) operator(=) regexpcontent( [)inlinecontent(])delimiter(")> + stringcontent( [)inlinecontent(])delimiter(")> reserved(end) ident(puts) ident(str) @@ -1898,12 +1898,12 @@ constant(WANT) operator(=) integer(3) ident(count) operator(=) integer(0) ident(fish)operator(.)ident(scan)operator(()regexpoperator(\)) operator({) reserved(if) operator(()ident(count) operator(+=) integer(1)operator(\)) operator(==) constant(WANT) - ident(puts) stringcontent( one.)delimiter(")> + ident(puts) stringcontent( one.)delimiter(")> reserved(end) operator(}) reserved(if) ident(fish) operator(=)operator(~) regexp - ident(puts) stringcontent( one.)delimiter(")> + ident(puts) stringcontent( one.)delimiter(")> reserved(end) ident(pond) operator(=) string @@ -1913,12 +1913,12 @@ ident(colors) operator(=) ident(pond)operator(.)ident(scan)operator(()regexpoperator(\))operator(.)ident(flatten)operator([)integer(2)operator(]) comment(# just grab element 3) -ident(puts) stringcontent(.)delimiter(")> +ident(puts) stringcontent(.)delimiter(")> ident(count) operator(=) integer(0) ident(fishes) operator(=) string ident(evens) operator(=) ident(fishes)operator(.)ident(scan)operator(()regexpoperator(\))operator(.)ident(select) operator({) operator(()ident(count)operator(+=)integer(1)operator(\)) operator(%) integer(2) operator(==) integer(0) operator(}) -ident(print) stringoperator(\))delimiter(})>content(.)delimiter(")> +ident(print) stringoperator(\))inline_delimiter(})>content(.)delimiter(")> ident(count) operator(=) integer(0) ident(fishes)operator(.)ident(gsub)operator(()regexp -ident(puts) stringoperator(\))operator(.)ident(flatten)operator([)integer(-1)operator(])delimiter(})>delimiter(")> +ident(puts) stringoperator(\))operator(.)ident(flatten)operator([)integer(-1)operator(])inline_delimiter(})>delimiter(")> regexpoperator(\)) - ident(puts) stringcontent(.)delimiter(")> + ident(puts) stringcontent(.)delimiter(")> reserved(else) ident(puts) string reserved(end) @@ -1995,7 +1995,7 @@ comment(#-----------------------------) reserved(for) ident(file) reserved(in) pre_constant(ARGV) ident(file) operator(=) constant(File)operator(.)ident(open)operator(()pre_constant(ARGV)operator(.)ident(shift)operator(\)) reserved(while) ident(file)operator(.)ident(gets)operator(()stringoperator(\)) reserved(do) comment(# each read is a paragraph) - ident(print) stringcontent( in $ARGV has <<)inlinecontent(>>)char(\\n)delimiter(")> reserved(while) regexp + ident(print) stringcontent( in $ARGV has <<)inlinecontent(>>)char(\\n)delimiter(")> reserved(while) regexp reserved(end) comment(# /m activates the multiline mode) reserved(end) comment(#-----------------------------) @@ -2008,7 +2008,7 @@ ident(chunks) operator(=) ident(file)operator(.)ident(gets)operator(.)ident(spli comment(#-----------------------------) comment(# .Ch, .Se and .Ss divide chunks of STDIN) ident(chunks) operator(=) ident(gets)operator(()pre_constant(nil)operator(\))operator(.)ident(split)operator(()regexpoperator(\)) -ident(print) stringcontent( chunks.)char(\\n)delimiter(")> +ident(print) stringcontent( chunks.)char(\\n)delimiter(")> comment(#-----------------------------) @@ -2100,7 +2100,7 @@ comment(# avoid interpolating patterns like this if the pattern) comment(# isn't going to change:) ident(pattern) operator(=) pre_constant(ARGV)operator(.)ident(shift) pre_constant(ARGF)operator(.)ident(each) reserved(do) operator(|)ident(line)operator(|) - ident(print) ident(line) reserved(if) ident(line) operator(=)operator(~) regexpdelimiter(/)> + ident(print) ident(line) reserved(if) ident(line) operator(=)operator(~) regexpdelimiter(/)> reserved(end) comment(# the above creates a new regex each iteration. Instead,) @@ -2108,7 +2108,7 @@ comment(# use the /o modifier so the regex is compiled only once) ident(pattern) operator(=) pre_constant(ARGV)operator(.)ident(shift) pre_constant(ARGF)operator(.)ident(each) reserved(do) operator(|)ident(line)operator(|) - ident(print) ident(line) reserved(if) ident(line) operator(=)operator(~) regexpdelimiter(/)modifier(o)> + ident(print) ident(line) reserved(if) ident(line) operator(=)operator(~) regexpdelimiter(/)modifier(o)> reserved(end) comment(#-----------------------------) @@ -2119,7 +2119,7 @@ comment(# version 1: slow but obvious way) ident(popstates) operator(=) string pre_constant(ARGF)operator(.)ident(each) reserved(do) operator(|)ident(line)operator(|) ident(popstates)operator(.)ident(each) reserved(do) operator(|)ident(state)operator(|) - reserved(if) ident(line) operator(=)operator(~) regexpchar(\\b)delimiter(/)> + reserved(if) ident(line) operator(=)operator(~) regexpchar(\\b)delimiter(/)> ident(print) ident(line) ident(last) reserved(end) @@ -2133,10 +2133,10 @@ comment(# version 2: eval strings; fast but hard to quote) ident(popstates) operator(=) string ident(code) operator(=) string ident(popstates)operator(.)ident(each) reserved(do) operator(|)ident(state)operator(|) - ident(code) operator(+=) stringchar(\\\\)content(b/; print(line\); next; end)char(\\n)delimiter(")> + ident(code) operator(+=) stringchar(\\\\)content(b/; print(line\); next; end)char(\\n)delimiter(")> reserved(end) ident(code) operator(+=) string -ident(print) stringchar(\\n)content(---)char(\\n)delimiter(")> reserved(if) pre_constant(false) comment(# turn on for debugging) +ident(print) stringchar(\\n)content(---)char(\\n)delimiter(")> reserved(if) pre_constant(false) comment(# turn on for debugging) ident(eval) ident(code) comment(# CODE IS) @@ -2159,10 +2159,10 @@ comment(# version 2.5: eval strings; fast but hard to quote) ident(popstates) operator(=) string ident(code) operator(=) string ident(popstates)operator(.)ident(each) reserved(do) operator(|)ident(state)operator(|) - ident(code) operator(+=) stringchar(\\\\)content(b/ : print line)char(\\n)delimiter(")> + ident(code) operator(+=) stringchar(\\\\)content(b/ : print line)char(\\n)delimiter(")> reserved(end) ident(code) operator(+=) string -ident(print) stringchar(\\n)content(---)char(\\n)delimiter(")> reserved(if) pre_constant(false) comment(# turn on for debugging) +ident(print) stringchar(\\n)content(---)char(\\n)delimiter(")> reserved(if) pre_constant(false) comment(# turn on for debugging) ident(eval) ident(code) comment(# CODE IS) @@ -2187,8 +2187,8 @@ comment(#!/usr/bin/ruby) comment(# popgrep3 - grep for abbreviations of places that say "pop") comment(# version3: build a match_any function) ident(popstates) operator(=) string -ident(expr) operator(=) ident(popstates)operator(.)ident(map)operator({)operator(|)ident(e)operator(|)stringchar(\\\\)content(b/)delimiter(")>operator(})operator(.)ident(join)operator(()stringoperator(\)) -ident(eval) stringcontent(;end)delimiter(")> +ident(expr) operator(=) ident(popstates)operator(.)ident(map)operator({)operator(|)ident(e)operator(|)stringchar(\\\\)content(b/)delimiter(")>operator(})operator(.)ident(join)operator(()stringoperator(\)) +ident(eval) stringcontent(;end)delimiter(")> pre_constant(ARGF)operator(.)ident(each) reserved(do) operator(|)ident(line)operator(|) ident(print) ident(line) reserved(if) ident(match_any)operator(()ident(line)operator(\)) reserved(end) @@ -2203,11 +2203,11 @@ reserved(class) class(MultiMatch) reserved(def) method(initialize)operator(()operator(*)ident(patterns)operator(\)) ident(_any) operator(=) ident(build_match)operator(()stringoperator(,)ident(patterns)operator(\)) ident(_all) operator(=) ident(build_match)operator(()stringoperator(,)ident(patterns)operator(\)) - ident(eval) stringcontent(;end)char(\\n)delimiter(")> - ident(eval) stringcontent(;end)char(\\n)delimiter(")> + ident(eval) stringcontent(;end)char(\\n)delimiter(")> + ident(eval) stringcontent(;end)char(\\n)delimiter(")> reserved(end) reserved(def) method(build_match)operator(()ident(sym)operator(,)ident(args)operator(\)) - ident(args)operator(.)ident(map)operator({)operator(|)ident(e)operator(|)stringcontent(/)delimiter(")>operator(})operator(.)ident(join)operator(()ident(sym)operator(\)) + ident(args)operator(.)ident(map)operator({)operator(|)ident(e)operator(|)stringcontent(/)delimiter(")>operator(})operator(.)ident(join)operator(()ident(sym)operator(\)) reserved(end) reserved(end) @@ -2221,7 +2221,7 @@ comment(#!/usr/bin/ruby) comment(# popgrep4 - grep for abbreviations of places that say "pop") comment(# version4: pretty fast, but simple: compile all re's first:) ident(popstates) operator(=) string -ident(popstates) operator(=) ident(popstates)operator(.)ident(map)operator({)operator(|)ident(re)operator(|) regexpchar(\\b)delimiter(/)>operator(}) +ident(popstates) operator(=) ident(popstates)operator(.)ident(map)operator({)operator(|)ident(re)operator(|) regexpchar(\\b)delimiter(/)>operator(}) pre_constant(ARGF)operator(.)ident(each) reserved(do) operator(|)ident(line)operator(|) ident(popstates)operator(.)ident(each) reserved(do) operator(|)ident(state_re)operator(|) reserved(if) ident(line) operator(=)operator(~) ident(state_re) @@ -2278,7 +2278,7 @@ ident(blasts) comment(# @@PLEAC@@_6.14) ident(str)operator(.)ident(scan)operator(()regexpoperator(\))operator(.)ident(each) reserved(do) operator(|)ident(token)operator(|) - ident(puts) stringdelimiter(")> + ident(puts) stringdelimiter(")> reserved(end) comment(#-----------------------------) ident(n) operator(=) string @@ -2287,7 +2287,7 @@ ident(puts) ident(n) comment(#-----------------------------) ident(str) operator(=) string ident(str)operator(.)ident(scan)operator(()regexpoperator(\))operator(.)ident(each) reserved(do) operator(|)ident(num)operator(|) - ident(puts) stringdelimiter(")> + ident(puts) stringdelimiter(")> reserved(end) comment(#-----------------------------) comment(# Ruby doesn't have the String.pos or a /c re modifier like Perl ) @@ -2298,16 +2298,16 @@ ident(require) string ident(text) operator(=) string ident(sc) operator(=) constant(StringScanner)operator(.)ident(new)operator(()ident(text)operator(\)) reserved(while) ident(sc)operator(.)ident(scan)operator(()regexpoperator(\)) - ident(print) stringchar(\\n)delimiter(")> + ident(print) stringchar(\\n)delimiter(")> reserved(end) reserved(if) ident(sc)operator(.)ident(scan)operator(()regexpoperator(\)) - ident(puts) stringcontent( after last number)delimiter(")> + ident(puts) stringcontent( after last number)delimiter(")> reserved(end) comment(#-----------------------------) comment(# assuming continuing from above:) -ident(puts) stringdelimiter(")> +ident(puts) stringdelimiter(")> ident(sc)operator(.)ident(pos) operator(=) integer(30) -ident(puts) stringdelimiter(")> +ident(puts) stringdelimiter(")> comment(# @@PLEAC@@_6.15) @@ -2357,14 +2357,14 @@ pre_constant(ARGF)operator(.)ident(each) reserved(do) operator(|)ident(para)oper )char(\\b)content( # and a word boundary \) + # one or more times )delimiter(/)modifier(xi)> reserved(do) - ident(puts) stringcontent(' at paragraph )inlinedelimiter(")> + ident(puts) stringcontent(' at paragraph )inlinedelimiter(")> reserved(end) reserved(end) comment(#-----------------------------) ident(astr) operator(=) string ident(bstr) operator(=) string -reserved(if) stringcontent( )inlinedelimiter(")> operator(=)operator(~) regexp - ident(print) stringcontent( overlaps in )inlinecontent(-)inlinecontent(-)inlinedelimiter(")> +reserved(if) stringcontent( )inlinedelimiter(")> operator(=)operator(~) regexp + ident(print) stringcontent( overlaps in )inlinecontent(-)inlinecontent(-)inlinedelimiter(")> reserved(end) comment(#-----------------------------) comment(#!/usr/bin/ruby -w) @@ -2373,7 +2373,7 @@ pre_constant(ARGV) operator(<<) integer(180) ident(cap) operator(=) string operator(*) pre_constant(ARGV)operator(.)ident(shift) reserved(while) ident(cap) operator(=)operator(~) regexp ident(print) global_variable($1)operator(.)ident(size)operator(,) string - ident(cap)operator(.)ident(gsub!)operator(()regexpdelimiter(/)>operator(,)stringoperator(\)) + ident(cap)operator(.)ident(gsub!)operator(()regexpdelimiter(/)>operator(,)stringoperator(\)) reserved(end) ident(puts) ident(cap)operator(.)ident(size) comment(#-----------------------------) @@ -2381,7 +2381,7 @@ comment(#diophantine) comment(# solve for 12x + 15y + 16z = 281, maximizing x) reserved(if) operator(()string operator(*) integer(281)operator(\))operator(.)ident(match)operator(()regexpoperator(\)) ident(x)operator(,) ident(y)operator(,) ident(z) operator(=) global_variable($1)operator(.)ident(size)operator(,) global_variable($2)operator(.)ident(size)operator(,) global_variable($3)operator(.)ident(size) - ident(puts) stringcontent(; y=)inlinecontent(; z=)inlinedelimiter(")> + ident(puts) stringcontent(; y=)inlinecontent(; z=)inlinedelimiter(")> reserved(else) ident(puts) string reserved(end) @@ -2438,7 +2438,7 @@ comment(#!/usr/bin/ruby -w) comment(# minigrep - trivial grep) ident(pat) operator(=) pre_constant(ARGV)operator(.)ident(shift) pre_constant(ARGF)operator(.)ident(each) reserved(do) operator(|)ident(line)operator(|) - ident(print) ident(line) reserved(if) ident(line) operator(=)operator(~) regexpdelimiter(/)modifier(o)> + ident(print) ident(line) reserved(if) ident(line) operator(=)operator(~) regexpdelimiter(/)modifier(o)> reserved(end) comment(#-----------------------------) string operator(=)operator(~) regexp @@ -2531,7 +2531,7 @@ comment(#-----------------------------) comment(# @@PLEAC@@_6.20) ident(ans) operator(=) global_variable($stdin)operator(.)ident(gets)operator(.)ident(chomp) -ident(re) operator(=) regexpdelimiter(/)> +ident(re) operator(=) regexpdelimiter(/)> reserved(case) reserved(when) string operator(=)operator(~) ident(re) operator(:) ident(puts) string reserved(when) string operator(=)operator(~) ident(re) operator(:) ident(puts) string @@ -2544,7 +2544,7 @@ ident(table) operator(=) constant(Abbrev)operator(.)ident(abbrev) string ident(ans) operator(=) global_variable($stdin)operator(.)ident(gets)operator(.)ident(chomp) - ident(puts) stringcontent( is )inlinedelimiter(")> + ident(puts) stringcontent( is )inlinedelimiter(")> reserved(end) @@ -2611,26 +2611,26 @@ ident(urls) operator(=) stringoperator(;) ident(gunk) operator(=) stringoperator(;) ident(punc) operator(=) stringoperator(;) -ident(any) operator(=) stringinlineinlinedelimiter(")>operator(;) +ident(any) operator(=) stringinlineinlinedelimiter(")>operator(;) pre_constant(ARGF)operator(.)ident(each) reserved(do) operator(|)ident(line)operator(|) ident(line)operator(.)ident(gsub!) regexpcontent( : # need resource and a colon - [)inlinecontent(] +? # followed by on or more + )inlinecontent( : # need resource and a colon + [)inlinecontent(] +? # followed by on or more # of any valid character, but # be conservative and take only # what you need to.... \) # end $1 } (?= # look-ahead non-consumptive assertion - [)inlinecontent(]* # either 0 or more punctuation - [^)inlinecontent(] # followed by a non-url char + [)inlinecontent(]* # either 0 or more punctuation + [^)inlinecontent(] # followed by a non-url char | # or else $ # then end of the string \) )delimiter(/)modifier(iox)> reserved(do) - string)inlinecontent()delimiter(|)> + string)inlinecontent()delimiter(|)> reserved(end) ident(print) ident(line) reserved(end) @@ -2674,7 +2674,7 @@ ident(str)operator(.)ident(sub!)operator(()regexpoperator(]) operator(||) stringoperator(\)) operator(=)operator(~) regexp operator(\)) operator(?) global_variable($1) operator(:) integer(80)operator(;) comment(#-----------------------------) -ident(name) operator(=) stringcontent( )inlinedelimiter(")>operator(.)ident(gsub)operator(()regexpoperator(,) stringoperator(\)) +ident(name) operator(=) stringcontent( )inlinedelimiter(")>operator(.)ident(gsub)operator(()regexpoperator(,) stringoperator(\)) comment(#-----------------------------) ident(require) string ident(include) constant(Config) @@ -2753,7 +2753,7 @@ reserved(while) global_variable($stdin)operator(.)ident(gets) reserved(unless) operator(()regexpoperator(\)) global_variable($stderr)operator(.)ident(puts) string comment(# writes to STDERR) reserved(end) - ident(puts) stringdelimiter(")> comment(# writes to STDOUT) + ident(puts) stringdelimiter(")> comment(# writes to STDOUT) reserved(end) ident(logfile) operator(=) constant(File)operator(.)ident(new)operator(()stringoperator(,) stringoperator(\)) @@ -2848,7 +2848,7 @@ comment(# If you need to pass the filename to an external program you can use) comment(# File#path, but don't forget to File#flush in order to flush anything) comment(# living in some buffer somewhere.) ident(tf)operator(.)ident(flush) -ident(system)operator(()stringdelimiter(")>operator(\)) +ident(system)operator(()stringdelimiter(")>operator(\)) ident(fh) operator(=) constant(Tempfile)operator(.)ident(new)operator(()stringoperator(\)) ident(fh)operator(.)ident(sync) operator(=) pre_constant(true) comment(# autoflushes) @@ -2869,8 +2869,8 @@ comment(__END__ comment(# get info about the script (size, date of last modification\)) ident(kilosize) operator(=) pre_constant(DATA)operator(.)ident(stat)operator(.)ident(size) operator(/) integer(1024) ident(last_modif) operator(=) pre_constant(DATA)operator(.)ident(stat)operator(.)ident(mtime) -ident(puts) stringScript size is )inlinedelimiter(")> -ident(puts) stringLast script update: )inlinedelimiter(")> +ident(puts) stringScript size is )inlinedelimiter(")> +ident(puts) stringLast script update: )inlinedelimiter(")> comment(__END__ # DO NOT REMOVE THE PRECEEDING LINE. # Everything else in this file will be ignored. @@ -3117,7 +3117,7 @@ ident(sock) operator(=) constant(TCPSocket)operator(.)ident(new)operator(()strin ident(sock)operator(.)ident(sync) operator(=) pre_constant(true) ident(sock)operator(.)ident(puts) string ident(resp) operator(=) ident(sock)operator(.)ident(read) -ident(print) stringchar(\\n)delimiter(")> +ident(print) stringchar(\\n)delimiter(")> comment(# @@PLEAC@@_7.13) @@ -3171,10 +3171,10 @@ ident(buffer) operator(=) ident(handle)operator(.)ident(read)operator(()integer( ident(rv) operator(=) ident(buffer)operator(.)ident(length) comment(#-----------------------------) ident(handle)operator(.)ident(truncate)operator(()ident(length)operator(\)) -ident(open)operator(()stringcontent(.pid)delimiter(")>operator(,) stringoperator(\)) operator({) operator(|)ident(handle)operator(|) ident(handle)operator(.)ident(truncate)operator(()ident(length)operator(\)) operator(}) +ident(open)operator(()stringcontent(.pid)delimiter(")>operator(,) stringoperator(\)) operator({) operator(|)ident(handle)operator(|) ident(handle)operator(.)ident(truncate)operator(()ident(length)operator(\)) operator(}) comment(#-----------------------------) ident(pos) operator(=) ident(datafile)operator(.)ident(pos) comment(# tell is an alias of pos) -ident(puts) stringcontent( bytes from the start of datafile)delimiter(")> +ident(puts) stringcontent( bytes from the start of datafile)delimiter(")> comment(#-----------------------------) ident(logfile)operator(.)ident(seek)operator(()integer(0)operator(,) constant(IO)operator(::)constant(SEEK_END)operator(\)) ident(datafile)operator(.)ident(seek)operator(()ident(pos)operator(\)) comment(# IO::SEEK_SET is the default) @@ -3183,7 +3183,7 @@ comment(#-----------------------------) ident(written) operator(=) ident(datafile)operator(.)ident(syswrite)operator(()ident(mystring)operator(\)) ident(raise) constant(RunTimeError) reserved(unless) ident(written) operator(==) ident(mystring)operator(.)ident(length) ident(block) operator(=) ident(infile)operator(.)ident(sysread)operator(()integer(256)operator(\)) comment(# no equivalent to perl offset parameter in sysread) -ident(puts) stringcontent( bytes)delimiter(")> reserved(if) integer(256) operator(!=) ident(block)operator(.)ident(length) +ident(puts) stringcontent( bytes)delimiter(")> reserved(if) integer(256) operator(!=) ident(block)operator(.)ident(length) comment(#-----------------------------) ident(pos) operator(=) ident(handle)operator(.)ident(sysseek)operator(()integer(0)operator(,) constant(IO)operator(::)constant(SEEK_CUR)operator(\)) comment(# don't change position) @@ -3213,8 +3213,8 @@ operator(}) comment(# @@PLEAC@@_8.2) comment(#-----------------------------) -ident(count) operator(=) shelldelimiter(`)> -ident(fail) stringdelimiter(")> reserved(if) global_variable($?) operator(!=) integer(0) +ident(count) operator(=) shelldelimiter(`)> +ident(fail) stringdelimiter(")> reserved(if) global_variable($?) operator(!=) integer(0) ident(count)operator(.)ident(chomp!) comment(#-----------------------------) ident(count) operator(=) integer(0) @@ -3244,7 +3244,7 @@ global_variable($/) operator(=) string ident(open)operator(()ident(filename)operator(,) stringoperator(\)) operator({) operator(|)ident(fh)operator(|) integer(1) reserved(while) ident(fh)operator(.)ident(gets) ident(para_count) operator(=) global_variable($.) -operator(}) reserved(rescue) ident(fail)operator(()stringcontent(: $!)delimiter(")>operator(\)) +operator(}) reserved(rescue) ident(fail)operator(()stringcontent(: $!)delimiter(")>operator(\)) comment(#-----------------------------) @@ -3317,7 +3317,7 @@ comment(# record separator $/, just like perl, a blank) comment(# separator splits the records into paragraphs) constant(File)operator(.)ident(readlines)operator(()ident(file)operator(,) stringoperator(\))operator(.)ident(each) operator({) operator(|)ident(paragraph)operator(|) comment(# do something with paragraph) - ident(puts) stringParagraph )inlinedelimiter(")> + ident(puts) stringParagraph )inlinedelimiter(")> operator(}) comment(#-----------------------------) @@ -3357,12 +3357,12 @@ ident(f) operator(=) constant(File)operator(.)ident(open)operator(()ident(filena comment(## There is no -T equivalent in Ruby, but we can still test emptiness) reserved(if) ident(test)operator(()integer(?s)operator(,) ident(filename)operator(\)) - ident(puts) stringcontent( doesn't have text in it.)delimiter(")> + ident(puts) stringcontent( doesn't have text in it.)delimiter(")> ident(exit) reserved(end) constant(Dir)operator(.)ident(new)operator(()stringoperator(\))operator(.)ident(each) reserved(do) operator(|)ident(filename)operator(|) - ident(puts) stringdelimiter(")> + ident(puts) stringdelimiter(")> reserved(end) @@ -3409,7 +3409,7 @@ ident(filenames)operator(.)ident(each) reserved(do) operator(|)ident(file)operat ident(err_flg) operator(=) global_variable($!) reserved(end) reserved(end) -ident(err_flg) reserved(and) ident(raise) stringoperator(\))delimiter(})>content(: )inlinedelimiter(")> +ident(err_flg) reserved(and) ident(raise) stringoperator(\))inline_delimiter(})>content(: )inlinedelimiter(")> constant(File)operator(.)ident(unlink)operator(()ident(file)operator(\)) @@ -3422,7 +3422,7 @@ ident(filenames)operator(.)ident(each) reserved(do) operator(|)ident(file)operat reserved(end) reserved(end) reserved(if) ident(count) operator(!=) ident(filenames)operator(.)ident(length) - constant(STDERR)operator(.)ident(puts) stringcontent( of )inlinecontent( files)delimiter(")> + constant(STDERR)operator(.)ident(puts) stringcontent( of )inlinecontent( files)delimiter(")> reserved(end) @@ -3443,8 +3443,8 @@ reserved(end) ident(infile)operator(.)ident(close) ident(outfile)operator(.)ident(close) -ident(system)operator(()stringcontent( )inlinedelimiter(")>operator(\)) comment(# unix) -ident(system)operator(()stringcontent( )inlinedelimiter(")>operator(\)) comment(# dos, vms) +ident(system)operator(()stringcontent( )inlinedelimiter(")>operator(\)) comment(# unix) +ident(system)operator(()stringcontent( )inlinedelimiter(")>operator(\)) comment(# dos, vms) ident(require) string constant(File)operator(.)ident(copy)operator(()stringoperator(,) stringoperator(\)) @@ -3498,7 +3498,7 @@ reserved(end) reserved(def) method(plainfiles)operator(()ident(dir)operator(\)) ident(dh) operator(=) constant(Dir)operator(.)ident(open)operator(()ident(dir)operator(\)) ident(dh)operator(.)ident(entries)operator(.)ident(grep)operator(()regexpoperator(\))operator(.) - ident(map) operator({)operator(|)ident(file)operator(|) stringcontent(/)inlinedelimiter(")>operator(})operator(.) + ident(map) operator({)operator(|)ident(file)operator(|) stringcontent(/)inlinedelimiter(")>operator(})operator(.) ident(find_all) operator({)operator(|)ident(file)operator(|) ident(test)operator(()integer(?f)operator(,) ident(file)operator(\))operator(})operator(.) ident(sort) reserved(end) @@ -3520,7 +3520,7 @@ ident(files) operator(=) ident(dir)operator(.)ident(entries)operator(.)ident(gre reserved(begin) ident(d) operator(=) constant(Dir)operator(.)ident(open)operator(()ident(dir)operator(\)) reserved(rescue) constant(Errno)operator(::)constant(ENOENT) - ident(raise) stringcontent( for reading: )inlinedelimiter(")> + ident(raise) stringcontent( for reading: )inlinedelimiter(")> reserved(end) ident(files) operator(=) operator([)operator(]) @@ -3528,13 +3528,13 @@ ident(d)operator(.)ident(each) reserved(do) operator(|)ident(file)operator(|) ident(puts) ident(file) reserved(next) reserved(unless) ident(file) operator(=)operator(~) regexp - ident(filename) operator(=) stringcontent(/)inlinedelimiter(")> + ident(filename) operator(=) stringcontent(/)inlinedelimiter(")> comment(# There is no -T equivalent in Ruby, but we can still test emptiness) ident(files)operator(.)ident(push)operator(()ident(filename)operator(\)) reserved(if) ident(test)operator(()integer(?s)operator(,) ident(filename)operator(\)) reserved(end) ident(dirs)operator(.)ident(entries)operator(.)ident(grep)operator(()regexpoperator(\))operator(.) - ident(map) operator({) operator(|)ident(file)operator(|) operator([)ident(file)operator(,) stringcontent(/)inlinedelimiter(")>operator(])operator(}) operator(.) + ident(map) operator({) operator(|)ident(file)operator(|) operator([)ident(file)operator(,) stringcontent(/)inlinedelimiter(")>operator(])operator(}) operator(.) ident(select) operator({) operator(|)ident(file)operator(|) ident(test)operator(()integer(?d)operator(,) ident(file)operator([)integer(1)operator(])operator(\)) operator(})operator(.) ident(sort) operator({) operator(|)ident(a)operator(,)ident(b)operator(|) ident(a)operator([)integer(0)operator(]) operator(<=>) ident(b)operator([)integer(0)operator(]) operator(})operator(.) ident(map) operator({) operator(|)ident(file)operator(|) ident(file)operator([)integer(1)operator(]) operator(}) @@ -3559,7 +3559,7 @@ constant(Find)operator(.)ident(find)operator(()operator(*)ident(argv)operator(\) ident(size) operator(=) ident(test)operator(()integer(?s)operator(,) ident(file)operator(\)) operator(||) integer(0) ident(sum) operator(+=) ident(size) reserved(end) -ident(puts) stringoperator(\))delimiter(})>content( contains )inlinecontent( bytes)delimiter(")> +ident(puts) stringoperator(\))inline_delimiter(})>content( contains )inlinecontent( bytes)delimiter(")> ident(require) string ident(argv) operator(=) pre_constant(ARGV)operator(.)ident(empty?) operator(?) string operator(:) pre_constant(ARGV) @@ -3570,7 +3570,7 @@ constant(Find)operator(.)ident(find)operator(()operator(*)ident(argv)operator(\) ident(saved_size) operator(=) ident(size) ident(saved_name) operator(=) ident(file) reserved(end) -ident(puts) stringcontent( in )inlineoperator(\))delimiter(})>content( is )inlinedelimiter(")> +ident(puts) stringcontent( in )inlineoperator(\))inline_delimiter(})>content( is )inlinedelimiter(")> ident(require) string ident(argv) operator(=) pre_constant(ARGV)operator(.)ident(empty?) operator(?) string operator(:) pre_constant(ARGV) @@ -3581,7 +3581,7 @@ constant(Find)operator(.)ident(find)operator(()operator(*)ident(argv)operator(\) ident(age) operator(=) ident(mtime) ident(name) operator(=) ident(file) reserved(end) -ident(puts) stringcontent( )inlinedelimiter(")> +ident(puts) stringcontent( )inlinedelimiter(")> comment(#-----------------------------) comment(#!/usr/bin/ruby -w) @@ -3595,7 +3595,7 @@ comment(#-----------------------------) comment(# @@PLEAC@@_9.8) ident(require) string -ident(puts) stringcontent( dir ...)delimiter(")> reserved(if) pre_constant(ARGV)operator(.)ident(empty?) +ident(puts) stringcontent( dir ...)delimiter(")> reserved(if) pre_constant(ARGV)operator(.)ident(empty?) pre_constant(ARGV)operator(.)ident(each) reserved(do) operator(|)ident(dir)operator(|) constant(FileUtils)operator(.)ident(rmtree)operator(()ident(dir)operator(\)) reserved(end) @@ -3608,7 +3608,7 @@ ident(names)operator(.)ident(each) reserved(do) operator(|)ident(file)operator(| reserved(begin) constant(File)operator(.)ident(move)operator(()ident(file)operator(,) ident(newname)operator(\)) reserved(rescue) constant(Errno)operator(::)constant(EPERM) - global_variable($stderr)operator(.)ident(puts) stringcontent( to )inlinecontent(: )inlinedelimiter(")> + global_variable($stderr)operator(.)ident(puts) stringcontent( to )inlinecontent(: )inlinedelimiter(")> reserved(end) reserved(end) @@ -3617,7 +3617,7 @@ ident(op) operator(=) pre_constant(ARGV)operator(.)ident(empty?) operator(?) ope ident(argv) operator(=) pre_constant(ARGV)operator(.)ident(empty?) operator(?) global_variable($stdin)operator(.)ident(readlines)operator(.)ident(map) operator({) operator(|)ident(f)operator(|) ident(f)operator(.)ident(chomp) operator(}) operator(:) pre_constant(ARGV) ident(argv)operator(.)ident(each) reserved(do) operator(|)ident(file)operator(|) ident(was) operator(=) ident(file) - ident(file) operator(=) ident(eval)operator(()stringdelimiter(")>operator(\)) + ident(file) operator(=) ident(eval)operator(()stringdelimiter(")>operator(\)) constant(File)operator(.)ident(move)operator(()ident(was)operator(,) ident(file)operator(\)) reserved(unless) ident(was) operator(==) ident(file) reserved(end) @@ -3633,13 +3633,13 @@ ident(path) operator(=) string ident(file) operator(=) constant(File)operator(.)ident(basename)operator(()ident(path)operator(\)) ident(dir) operator(=) constant(File)operator(.)ident(dirname)operator(()ident(path)operator(\)) -ident(puts) stringcontent(, file is )inlinedelimiter(")> +ident(puts) stringcontent(, file is )inlinedelimiter(")> comment(# dir is /usr/lib, file is libc.a) ident(path) operator(=) string ident(dir)operator(,) ident(filename) operator(=) constant(File)operator(.)ident(split)operator(()ident(path)operator(\)) ident(name)operator(,) ident(ext) operator(=) ident(filename)operator(.)ident(split)operator(()regexpoperator(\)) -ident(puts) stringcontent(, name is )inlinecontent(, ext is )inlinedelimiter(")> +ident(puts) stringcontent(, name is )inlinecontent(, ext is )inlinedelimiter(")> comment(# NOTE: The Ruby code prints) comment(# dir is /usr/lib, name is libc, extension is .a) comment(# while the Perl code prints a '/' after the directory name) @@ -3661,7 +3661,7 @@ comment(# symirror - build spectral forest of symlinks) ident(require) string ident(require) string -ident(raise) stringcontent( realdir mirrordir)delimiter(")> reserved(unless) pre_constant(ARGV)operator(.)ident(size) operator(==) integer(2) +ident(raise) stringcontent( realdir mirrordir)delimiter(")> reserved(unless) pre_constant(ARGV)operator(.)ident(size) operator(==) integer(2) ident(srcdir)operator(,)ident(dstdir) operator(=) pre_constant(ARGV) ident(srcmode) operator(=) constant(File)operator(::)ident(stat)operator(()ident(srcdir)operator(\))operator(.)ident(mode) @@ -3673,10 +3673,10 @@ constant(Dir)operator(.)ident(chdir)operator(()ident(dstdir)operator(\)) operato constant(Find)operator(.)ident(find)operator(()ident(srcdir)operator(\)) reserved(do) operator(|)ident(srcfile)operator(|) reserved(if) ident(test)operator(()integer(?d)operator(,) ident(srcfile)operator(\)) - ident(dest) operator(=) ident(srcfile)operator(.)ident(sub)operator(()regexpdelimiter(/)>operator(,) ident(dstdir)operator(\)) + ident(dest) operator(=) ident(srcfile)operator(.)ident(sub)operator(()regexpdelimiter(/)>operator(,) ident(dstdir)operator(\)) ident(dmode) operator(=) constant(File)operator(::)ident(stat)operator(()ident(srcfile)operator(\))operator(.)ident(mode) operator(&) integer(07777) constant(Dir)operator(.)ident(mkdir)operator(()ident(dest)operator(,) ident(dmode)operator(\)) reserved(unless) ident(test)operator(()integer(?d)operator(,) ident(dest)operator(\)) - ident(a) operator(=) constant(Dir)operator([)stringcontent(/*)delimiter(")>operator(])operator(.)ident(reject)operator({)operator(|)ident(f)operator(|) ident(test)operator(()integer(?d)operator(,) ident(f)operator(\))operator(}) + ident(a) operator(=) constant(Dir)operator([)stringcontent(/*)delimiter(")>operator(])operator(.)ident(reject)operator({)operator(|)ident(f)operator(|) ident(test)operator(()integer(?d)operator(,) ident(f)operator(\))operator(}) constant(FileUtils)operator(.)ident(ln_s)operator(()ident(a)operator(,) ident(dest)operator(\)) reserved(end) reserved(end) @@ -3891,7 +3891,7 @@ ident(p) ident(c) comment(# Add this to the beginning of the function to check if we were) comment(# given two arrays) ident(a1)operator(.)ident(type) operator(==) constant(Array) operator(&&) ident(a2)operator(.)ident(type) operator(==) constant(Array) reserved(or) - ident(raise) stringcontent( )inlinecontent(\))delimiter(")> + ident(raise) stringcontent( )inlinecontent(\))delimiter(")> comment(# @@PLEAC@@_10.6) @@ -3953,7 +3953,7 @@ ident(raise) string commen reserved(begin) ident(val) operator(=) ident(func) reserved(rescue) constant(Exception) operator(=)operator(>) ident(msg) - global_variable($stderr)operator(.)ident(puts) stringdelimiter(")> + global_variable($stderr)operator(.)ident(puts) stringdelimiter(")> reserved(end) comment(# In Ruby the rescue statement uses an exception class, every) @@ -3969,7 +3969,7 @@ comment(# @@PLEAC@@_10.13) comment(# Saving Global Values) comment(# Of course we can just save the value and restore it later:) reserved(def) method(print_age) - ident(puts) stringdelimiter(")> + ident(puts) stringdelimiter(")> reserved(end) global_variable($age) operator(=) integer(18) comment(# global variable) @@ -3985,12 +3985,12 @@ comment(# We can also use a method that saves the global variable and) comment(# restores it automatically when the block is left:) reserved(def) method(local)operator(()ident(var)operator(\)) - ident(eval)operator(()stringdelimiter(")>operator(\)) + ident(eval)operator(()stringdelimiter(")>operator(\)) reserved(begin) ident(result) operator(=) reserved(yield) reserved(ensure) comment(# we want to call this even if we got an exception) - ident(eval)operator(()stringcontent( = save)delimiter(")>operator(\)) + ident(eval)operator(()stringcontent( = save)delimiter(")>operator(\)) reserved(end) ident(result) reserved(end) @@ -4033,8 +4033,8 @@ comment(# comes from a variable, so use "eval") ident(colors) operator(=) string ident(colors)operator(.)ident(each) operator({) operator(|)ident(c)operator(|) ident(eval) stringstringcontent((*a\) - "" + a.to_s + "" + def )inlinecontent((*a\) + "" + a.to_s + "" end)delimiter( EOS)> operator(}) @@ -4042,7 +4042,7 @@ operator(}) comment(# @@PLEAC@@_10.15) reserved(def) method(method_missing)operator(()ident(name)operator(,) operator(*)ident(args)operator(\)) - string)delimiter(")> operator(+) ident(args)operator(.)ident(join)operator(()stringoperator(\)) operator(+) string)delimiter(")> + string)delimiter(")> operator(+) ident(args)operator(.)ident(join)operator(()stringoperator(\)) operator(+) string)delimiter(")> reserved(end) ident(puts) ident(chartreuse)operator(()stringoperator(\)) @@ -4163,12 +4163,12 @@ reserved(end) ident(c1) operator(=) ident(mkcounter)operator(()integer(20)operator(\)) ident(c2) operator(=) ident(mkcounter)operator(()integer(77)operator(\)) -ident(puts) stringoperator(])operator(.)ident(call)delimiter(})>delimiter(")> comment(# 21 ) -ident(puts) stringoperator(])operator(.)ident(call)delimiter(})>delimiter(")> comment(# 78 ) -ident(puts) stringoperator(])operator(.)ident(call)delimiter(})>delimiter(")> comment(# 22 ) -ident(puts) stringoperator(])operator(.)ident(call)delimiter(})>delimiter(")> comment(# 21 ) -ident(puts) stringoperator(])operator(.)ident(call)delimiter(})>delimiter(")> comment(# 20 ) -ident(puts) stringoperator(])operator(.)ident(call)delimiter(})>delimiter(")> comment(# 77 ) +ident(puts) stringoperator(])operator(.)ident(call)inline_delimiter(})>delimiter(")> comment(# 21 ) +ident(puts) stringoperator(])operator(.)ident(call)inline_delimiter(})>delimiter(")> comment(# 78 ) +ident(puts) stringoperator(])operator(.)ident(call)inline_delimiter(})>delimiter(")> comment(# 22 ) +ident(puts) stringoperator(])operator(.)ident(call)inline_delimiter(})>delimiter(")> comment(# 21 ) +ident(puts) stringoperator(])operator(.)ident(call)inline_delimiter(})>delimiter(")> comment(# 20 ) +ident(puts) stringoperator(])operator(.)ident(call)inline_delimiter(})>delimiter(")> comment(# 77 ) comment(# @@PLEAC@@_11.15) @@ -4272,7 +4272,7 @@ reserved(end) reserved(module) class(Omega) constant(NAME) operator(=) string reserved(end) -ident(puts) stringcontent(, Omega is )inlinedelimiter(")> +ident(puts) stringcontent(, Omega is )inlinedelimiter(")> comment(# ruby doesn't differentiate beteen compile-time and run-time) ident(require) string @@ -4306,7 +4306,7 @@ comment(# @@PLEAC@@_12.2) reserved(begin) ident(require) string reserved(rescue) constant(LoadError) - ident(puts) stringdelimiter(")> comment(# $! contains the last error string) + ident(puts) stringdelimiter(")> comment(# $! contains the last error string) reserved(end) comment(# @@PLEAC@@_12.4) @@ -4412,11 +4412,11 @@ ident(puts) constant(FineTime)operator(.)ident(time) comment(#=> "its a fine tim comment(# @@PLEAC@@_12.12) reserved(def) method(even_only)operator(()ident(n)operator(\)) - ident(raise) stringcontent( is not even)delimiter(")> reserved(if) operator(()ident(n) operator(&) integer(1)operator(\)) operator(!=) integer(0) comment(# one way to test) + ident(raise) stringcontent( is not even)delimiter(")> reserved(if) operator(()ident(n) operator(&) integer(1)operator(\)) operator(!=) integer(0) comment(# one way to test) comment(# ...) reserved(end) reserved(def) method(even_only)operator(()ident(n)operator(\)) - global_variable($stderr)operator(.)ident(puts) stringcontent( is not even)delimiter(")> reserved(if) operator(()ident(n) operator(&) integer(1)operator(\)) operator(!=) integer(0) + global_variable($stderr)operator(.)ident(puts) stringcontent( is not even)delimiter(")> reserved(if) operator(()ident(n) operator(&) integer(1)operator(\)) operator(!=) integer(0) comment(# ...) reserved(end) @@ -4475,7 +4475,7 @@ reserved(class) class(Person) comment(# methods modifying the receiver object usually have the '!' suffix) reserved(def) method(die!) instance_variable(@alive) operator(=) pre_constant(false) - ident(puts) stringcontent( has died at the age of )inlinecontent(.)delimiter(")> + ident(puts) stringcontent( has died at the age of )inlinecontent(.)delimiter(")> instance_variable(@alive) reserved(end) @@ -4534,7 +4534,7 @@ reserved(class) class(MyClass) instance_variable(@start) operator(=) constant(Time)operator(.)ident(new) instance_variable(@age) operator(=) integer(0) reserved(for) ident(key)operator(,) ident(value) reserved(in) ident(inithash) - ident(instance_variable_set)operator(()stringdelimiter(")>operator(,) ident(value)operator(\)) + ident(instance_variable_set)operator(()stringdelimiter(")>operator(,) ident(value)operator(\)) reserved(end) reserved(end) reserved(end) @@ -4563,7 +4563,7 @@ reserved(class) class(MyClass) pre_constant(self)operator(.)ident(class)operator(.)ident(method)operator(()symbol(:finalize)operator(\))operator(.)ident(to_proc)operator(\)) reserved(end) reserved(def) constant(MyClass)operator(.)ident(finalize)operator(()ident(id)operator(\)) - ident(puts) stringcontent( dying at )inlinedelimiter(")> + ident(puts) stringcontent( dying at )inlinedelimiter(")> reserved(end) reserved(end) @@ -4625,12 +4625,12 @@ ident(printf)operator(()stringdelimiter(")> +ident(puts) stringdelimiter(")> ident(beta) operator(=) constant(FixedArray)operator(.)ident(new) ident(beta)operator(.)ident(max_bounds) operator(=) integer(50) comment(# calls the instance method) ident(beta)operator(.)ident(class)operator(.)ident(class_max_bounds) operator(=) integer(50) comment(# alternative, calls the class method) -ident(puts) stringdelimiter(")> +ident(puts) stringdelimiter(")> reserved(class) class(FixedArray) class_variable(@@bounds) operator(=) integer(7) @@ -4662,7 +4662,7 @@ ident(p)operator(.)ident(peers) operator(=) operator([)stringoperator(,) stringoperator(,) stringoperator(]) comment(# alternative access using symbol) ident(p)operator([)stringoperator(]) operator(=) operator([)stringoperator(,) stringoperator(,) stringoperator(]) comment(# alternative access using name of field) ident(p)operator([)integer(2)operator(]) operator(=) operator([)stringoperator(,) stringoperator(,) stringoperator(]) comment(# alternative access using index of field) -ident(puts) stringcontent(, )inlinecontent('s first friend is )inlinedelimiter(")> +ident(puts) stringcontent(, )inlinecontent('s first friend is )inlinedelimiter(")> comment(# The fields of a struct have no special type, like other ruby variables) comment(# you can put any objects in. Therefore the discussions how to specify) @@ -4679,9 +4679,9 @@ comment(# supply of own accessor method for the struct for error checking) reserved(class) class(PersonStruct) reserved(def) method(age=)operator(()ident(value)operator(\)) reserved(if) operator(!)ident(value)operator(.)ident(kind_of?)operator(()constant(Integer)operator(\)) - ident(raise)operator(()constant(ArgumentError)operator(,) stringcontent( isn't an Integer)delimiter(")>operator(\)) + ident(raise)operator(()constant(ArgumentError)operator(,) stringcontent( isn't an Integer)delimiter(")>operator(\)) reserved(elsif) ident(value) operator(>) integer(150) - ident(raise)operator(()constant(ArgumentError)operator(,) stringcontent( is unreasonable)delimiter(")>operator(\)) + ident(raise)operator(()constant(ArgumentError)operator(,) stringcontent( is unreasonable)delimiter(")>operator(\)) reserved(end) instance_variable(@age) operator(=) ident(value) reserved(end) @@ -4825,9 +4825,9 @@ reserved(class) class(Person) reserved(end) reserved(if) ident(valid_attribute?)operator(()ident(name)operator(\)) reserved(if) ident(isSetter) - ident(instance_variable_set)operator(()stringdelimiter(")>operator(,) operator(*)ident(params)operator(\)) + ident(instance_variable_set)operator(()stringdelimiter(")>operator(,) operator(*)ident(params)operator(\)) reserved(else) - ident(instance_variable_get)operator(()stringdelimiter(")>operator(,) operator(*)ident(params)operator(\)) + ident(instance_variable_get)operator(()stringdelimiter(")>operator(,) operator(*)ident(params)operator(\)) reserved(end) reserved(else) comment(# if no annestor is responsible,) @@ -4850,7 +4850,7 @@ ident(dad)operator(.)ident(age) operator(=) integer(23) ident(kid) operator(=) ident(dad)operator(.)ident(new) ident(kid)operator(.)ident(name) operator(=) string ident(kid)operator(.)ident(age) operator(=) integer(2) -ident(puts) stringdelimiter(")> +ident(puts) stringdelimiter(")> ident(puts) ident(dad) ident(puts) ident(kid) @@ -4880,7 +4880,7 @@ reserved(class) class(RingNode) reserved(end) reserved(def) constant(RingNode)operator(.)ident(finalize)operator(()ident(id)operator(\)) - ident(puts) stringcontent( dying)delimiter(")> + ident(puts) stringcontent( dying)delimiter(")> reserved(end) reserved(def) constant(RingNode)operator(.)ident(show_all_objects) @@ -4994,8 +4994,8 @@ comment(# Using Ruby's String class as is in this example:) ident(x) operator(=) stringoperator(;) ident(y) operator(=) string ident(z) operator(=) ident(x)operator(+)ident(y) ident(r) operator(=) ident(z)operator(*)integer(3) comment(# r is "RedBlackRedBlackRedBlack") -ident(puts) stringcontent(, )inlinecontent(, )inlinecontent(, and )inlinedelimiter(")> -ident(print) stringcontent( is )delimiter(")>operator(,) ident(x) operator(<) ident(y) operator(?) string operator(:) stringoperator(,) stringchar(\\n)delimiter(")> +ident(puts) stringcontent(, )inlinecontent(, )inlinecontent(, and )inlinedelimiter(")> +ident(print) stringcontent( is )delimiter(")>operator(,) ident(x) operator(<) ident(y) operator(?) string operator(:) stringoperator(,) stringchar(\\n)delimiter(")> comment(# prints:) comment(# values are Red, Black, RedBlack, and RedBlackRedBlackRedBlack) comment(# Red is GE Black) @@ -5028,7 +5028,7 @@ reserved(class) class(FixNum) reserved(end) reserved(def) method(/)operator(()ident(other)operator(\)) - ident(puts) stringdelimiter(")> + ident(puts) stringdelimiter(")> ident(result) operator(=) constant(FixNum)operator(.)ident(new)operator(()instance_variable(@value)operator(.)ident(to_f)operator(/)ident(other)operator(.)ident(value)operator(.)ident(to_f)operator(\)) ident(result)operator(.)ident(places) operator(=) ident(max)operator(()ident(result)operator(.)ident(places)operator(,)ident(other)operator(.)ident(places)operator(\)) ident(result) @@ -5060,17 +5060,17 @@ reserved(def) method(demo)operator(()operator(\)) ident(x) operator(=) constant(FixNum)operator(.)ident(new)operator(()integer(40)operator(\)) ident(y) operator(=) constant(FixNum)operator(.)ident(new)operator(()integer(12)operator(,) integer(0)operator(\)) - ident(puts) stringcontent( and )inlinecontent( is )inlinedelimiter(")> - ident(puts) stringcontent( and )inlinecontent( is )inlinedelimiter(")> + ident(puts) stringcontent( and )inlinecontent( is )inlinedelimiter(")> + ident(puts) stringcontent( and )inlinecontent( is )inlinedelimiter(")> ident(z) operator(=) ident(x)operator(/)ident(y) - ident(puts) stringcontent( has )inlinecontent( places)delimiter(")> + ident(puts) stringcontent( has )inlinecontent( places)delimiter(")> reserved(unless) ident(z)operator(.)ident(places) ident(z)operator(.)ident(places) operator(=) integer(2) reserved(end) - ident(puts) stringcontent( by )inlinecontent( is )inlinedelimiter(")> - ident(puts) stringdelimiter(")> + ident(puts) stringcontent( by )inlinecontent( is )inlinedelimiter(")> + ident(puts) stringdelimiter(")> reserved(end) reserved(if) pre_constant(__FILE__) operator(==) global_variable($0) @@ -5119,13 +5119,13 @@ constant(SDBM)operator(.)ident(open)operator(()ident(filename)operator(,) intege ident(userlist) operator(=) pre_constant(ARGV) reserved(end) ident(userlist)operator(.)ident(each) operator({) operator(|)ident(user)operator(|) - ident(print) stringchar(\\t)inlinechar(\\n)delimiter(")> + ident(print) stringchar(\\t)inlinechar(\\n)delimiter(")> operator(}) reserved(else) ident(who) operator(=) shell ident(who)operator(.)ident(split)operator(()stringoperator(\))operator(.)ident(each) operator({) operator(|)ident(line)operator(|) ident(md) operator(=) regexpoperator(.)ident(match)operator(()ident(line)operator(\)) - ident(raise) stringdelimiter(")> reserved(unless) ident(md) + ident(raise) stringdelimiter(")> reserved(unless) ident(md) comment(# sdbm stores only strings, so "+=" doesn't work,) comment(# we need to convert them expicitly back to integer.) reserved(if) ident(dbobj)operator(.)ident(has_key?)operator(()ident(md)operator([)integer(0)operator(])operator(\)) @@ -5257,18 +5257,18 @@ ident(lines)operator(.)ident(tie)operator(()ident(filename)operator(,) constant( comment(# Opposed to perl, the tied array behaves exactly as a normal array) ident(puts) string reserved(for) ident(i) reserved(in) integer(0)operator(..)operator(()ident(lines)operator(.)ident(length)integer(-1)operator(\)) - ident(puts) stringcontent(: )inlinedelimiter(")> + ident(puts) stringcontent(: )inlinedelimiter(")> reserved(end) comment(#use push and pop) ident(a) operator(=) ident(lines)operator(.)ident(pop) ident(lines)operator(.)ident(push)operator(()stringoperator(\)) - ident(puts)operator(()stringcontent(])delimiter(")>operator(\)) + ident(puts)operator(()stringcontent(])delimiter(")>operator(\)) comment(#use shift and unshift) ident(a) operator(=) ident(lines)operator(.)ident(shift) ident(lines)operator(.)ident(unshift)operator(()stringoperator(\)) - ident(puts)operator(()stringcontent(])delimiter(")>operator(\)) + ident(puts)operator(()stringcontent(])delimiter(")>operator(\)) comment(# add record after record 2) ident(i) operator(=) integer(2) @@ -5284,7 +5284,7 @@ ident(lines)operator(.)ident(tie)operator(()ident(filename)operator(,) constant( comment(#now print the records in reverse order) ident(puts) string operator(()ident(lines)operator(.)ident(length) operator(-) integer(1)operator(\))operator(.)ident(downto)operator(()integer(0)operator(\))operator({) operator(|)ident(i)operator(|) - ident(puts) stringcontent(: )inlinedelimiter(")> + ident(puts) stringcontent(: )inlinedelimiter(")> operator(}) operator(}) @@ -5311,7 +5311,7 @@ ident(name2) operator(=) string ident(tom1) operator(=) constant(Marshal)operator(.)ident(load)operator(()ident(db)operator([)ident(name1)operator(])operator(\)) ident(tom2) operator(=) constant(Marshal)operator(.)ident(load)operator(()ident(db)operator([)ident(name2)operator(])operator(\)) -ident(puts) stringcontent( )inlinedelimiter(")> +ident(puts) stringcontent( )inlinedelimiter(")> reserved(if) ident(tom1)operator([)integer(0)operator(]) operator(==) ident(tom2)operator([)integer(0)operator(]) operator(&&) ident(tom1)operator([)integer(1)operator(]) operator(==) ident(tom2)operator([)integer(1)operator(]) ident(puts) string @@ -5345,7 +5345,7 @@ reserved(BEGIN) operator({) global_variable($arrayvariable2) operator(=) constant(Marshal)operator(.)ident(load)operator(()ident(f)operator(\)) reserved(end) reserved(rescue) - ident(puts) stringdelimiter(")> + ident(puts) stringdelimiter(")> comment(# Initialisation if this script runs the first time) global_variable($stringvariable1) operator(=) string global_variable($arrayvariable2) operator(=) operator([)operator(]) @@ -5389,8 +5389,8 @@ reserved(begin) operator(}) comment(# end of block closes the database connection) reserved(rescue) constant(DBI)operator(::)constant(DatabaseError) operator(=)operator(>) ident(e) ident(puts) string - ident(puts) stringdelimiter(")> - ident(puts) stringdelimiter(")> + ident(puts) stringdelimiter(")> + ident(puts) stringdelimiter(")> reserved(end) comment(#!/usr/bin/ruby -w) @@ -5443,8 +5443,8 @@ reserved(begin) operator(}) reserved(rescue) constant(DBI)operator(::)constant(DatabaseError) operator(=)operator(>) ident(e) ident(puts) string - ident(puts) stringdelimiter(")> - ident(puts) stringdelimiter(")> + ident(puts) stringdelimiter(")> + ident(puts) stringdelimiter(")> reserved(end) @@ -5458,7 +5458,7 @@ instance_variable(@debugmode) operator(=) pre_constant(false) instance_variable(@verbose) operator(=) pre_constant(false) pre_constant(ARGV)operator(.)ident(options) reserved(do) operator(|)ident(opts)operator(|) - ident(opts)operator(.)ident(banner) operator(=) stringcontent( [OPTIONS] INPUTFILES)delimiter(")> + ident(opts)operator(.)ident(banner) operator(=) stringcontent( [OPTIONS] INPUTFILES)delimiter(")> ident(opts)operator(.)ident(on)operator(()stringoperator(,) stringoperator(,) stringoperator(\)) operator({) ident(puts) ident(opts) @@ -5487,10 +5487,10 @@ reserved(end) comment(# example to use the options in the main program) ident(puts) string reserved(if) instance_variable(@verbose) ident(puts) string reserved(if) instance_variable(@debugmode) -ident(puts) stringdelimiter(")> reserved(if) reserved(defined?) instance_variable(@outputfile) -ident(puts) stringdelimiter(")> reserved(if) reserved(defined?) instance_variable(@count) +ident(puts) stringdelimiter(")> reserved(if) reserved(defined?) instance_variable(@outputfile) +ident(puts) stringdelimiter(")> reserved(if) reserved(defined?) instance_variable(@count) pre_constant(ARGV)operator(.)ident(each) operator({) operator(|)ident(param)operator(|) - ident(puts) stringdelimiter(")> + ident(puts) stringdelimiter(")> operator(}) @@ -5550,7 +5550,7 @@ reserved(end) comment(# @@PLEAC@@_16.2) -ident(status) operator(=) ident(system)operator(()stringdelimiter(")>operator(\)) +ident(status) operator(=) ident(system)operator(()stringdelimiter(")>operator(\)) ident(status) operator(=) ident(system)operator(()stringoperator(,) ident(myfile)operator(\)) @@ -5558,12 +5558,12 @@ ident(system)operator(()stringoutf ident(system)operator(()stringoutfile 2>errfile)delimiter(")>operator(\)) comment(# stop if the command fails) -ident(raise) stringdelimiter(")> reserved(unless) ident(system)operator(()stringoperator(,) stringoperator(,) stringoperator(\)) +ident(raise) stringdelimiter(")> reserved(unless) ident(system)operator(()stringoperator(,) stringoperator(,) stringoperator(\)) comment(# get the value of the signal sent to the child) comment(# even if it is a SIGINT or SIGQUIT) ident(system)operator(()ident(arglist)operator(\)) -ident(raise) stringdelimiter(")> reserved(if) operator(()global_variable($?) operator(&) integer(127)operator(\)) operator(!=) integer(0) +ident(raise) stringdelimiter(")> reserved(if) operator(()global_variable($?) operator(&) integer(127)operator(\)) operator(!=) integer(0) ident(pid) operator(=) ident(fork) operator({) ident(trap)operator(()stringoperator(,) stringoperator(\)) @@ -5676,7 +5676,7 @@ reserved(def) method(quote)operator(()operator(\)) reserved(if) ident(pid) operator(==) pre_constant(nil) reserved(return) reserved(else) - reserved(while) ident(gets)operator(()operator(\)) reserved(do) ident(pid)operator(.)ident(print) string )inlinedelimiter(")> reserved(end) + reserved(while) ident(gets)operator(()operator(\)) reserved(do) ident(pid)operator(.)ident(print) string )inlinedelimiter(")> reserved(end) reserved(end) ident(exit) reserved(end) @@ -5693,7 +5693,7 @@ ident(exit) comment(# @@PLEAC@@_16.6) pre_constant(ARGV)operator(.)ident(map!) operator({) operator(|)ident(arg)operator(|) - ident(arg) operator(=)operator(~) regexp operator(?) stringdelimiter(")> operator(:) ident(arg) + ident(arg) operator(=)operator(~) regexp operator(?) stringdelimiter(")> operator(:) ident(arg) operator(}) reserved(for) ident(file) reserved(in) pre_constant(ARGV) ident(fh) operator(=) ident(open)operator(()ident(file)operator(\)) @@ -5703,7 +5703,7 @@ reserved(for) ident(file) reserved(in) pre_constant(ARGV) reserved(end) comment(#-----------------------------) pre_constant(ARGV)operator(.)ident(map!) operator({) operator(|)ident(arg)operator(|) - ident(arg) operator(=)operator(~) regexp operator(?) stringdelimiter(")> operator(:) ident(arg) comment(#) + ident(arg) operator(=)operator(~) regexp operator(?) stringdelimiter(")> operator(:) ident(arg) comment(#) operator(}) reserved(for) ident(file) reserved(in) pre_constant(ARGV) ident(fh) operator(=) ident(open)operator(()ident(file)operator(\)) @@ -5786,7 +5786,7 @@ reserved(begin) ident(fh) operator(=) constant(Kernel)operator(.)ident(open)operator(()string operator(+) ident(program_and_options)operator(,) stringoperator(\)) reserved(rescue) reserved(if) operator(()global_variable($@) operator(~=) regexpoperator(\)) - global_variable($stderr)operator(.)ident(puts) stringcontent( )char(\\n)content( )inlinecontent( )char(\\n)delimiter(")> + global_variable($stderr)operator(.)ident(puts) stringcontent( )char(\\n)content( )inlinecontent( )char(\\n)delimiter(")> reserved(break) reserved(end) ident(raise) comment(# reraise unforseen exception) @@ -5818,13 +5818,13 @@ constant(Process)operator(.)ident(kill)operator(()stringcontent( is alive!)delimiter(")> + ident(puts) stringcontent( is alive!)delimiter(")> reserved(rescue) constant(Errno)operator(::)constant(EPERM) comment(# changed uid) - ident(puts) stringcontent( has escaped my control!)delimiter(")>operator(;) + ident(puts) stringcontent( has escaped my control!)delimiter(")>operator(;) reserved(rescue) constant(Errno)operator(::)constant(ESRCH) - ident(puts) stringcontent( is deceased.)delimiter(")>operator(;) comment(# or zombied) + ident(puts) stringcontent( is deceased.)delimiter(")>operator(;) comment(# or zombied) reserved(rescue) - ident(puts) stringcontent( : )inlinedelimiter(")> + ident(puts) stringcontent( : )inlinedelimiter(")> reserved(end) @@ -5864,8 +5864,8 @@ comment(# we'll do something vastly more useful than cookbook to demonstrate tim reserved(begin) ident(timeout)operator(()integer(5)operator(\)) operator({) ident(waitsec) operator(=) ident(rand)operator(()integer(10)operator(\)) - ident(puts) stringcontent( seconds is longer than 5 seconds...)delimiter(")> - ident(system)operator(()stringdelimiter(")>operator(\)) + ident(puts) stringcontent( seconds is longer than 5 seconds...)delimiter(")> + ident(system)operator(()stringdelimiter(")>operator(\)) operator(}) ident(puts) string reserved(rescue) constant(Timeout)operator(::)constant(Error) @@ -5879,7 +5879,7 @@ ident(require) string reserved(begin) ident(t) operator(=) constant(TCPSocket)operator(.)ident(new)operator(()stringoperator(,) stringoperator(\)) reserved(rescue) - ident(puts) stringdelimiter(")> + ident(puts) stringdelimiter(")> reserved(else) comment(# ... do something with the socket) ident(t)operator(.)ident(print) string @@ -5900,7 +5900,7 @@ comment(# connect) reserved(begin) ident(s)operator(.)ident(connect)operator(()ident(sockaddr_server)operator(\)) reserved(rescue) - ident(puts) stringdelimiter(")> + ident(puts) stringdelimiter(")> reserved(else) comment(# ... do something with the socket) ident(s)operator(.)ident(print) string @@ -5913,7 +5913,7 @@ ident(require) string reserved(begin) ident(client) operator(=) constant(TCPSocket)operator(.)ident(new)operator(()stringoperator(,) stringoperator(\)) reserved(rescue) - ident(puts) stringdelimiter(")> + ident(puts) stringdelimiter(")> reserved(end) comment(# TCP connection with a time out) @@ -5924,7 +5924,7 @@ reserved(begin) ident(client) operator(=) constant(TCPSocket)operator(.)ident(new)operator(()stringoperator(,) stringoperator(\)) reserved(end) reserved(rescue) - ident(puts) stringdelimiter(")> + ident(puts) stringdelimiter(")> reserved(end) @@ -6137,7 +6137,7 @@ ident(telnet)operator(.)ident(waitfor)operator(()constant(String) operator(=)ope comment(# @@PLEAC@@_18.7) ident(require) string -ident(puts) stringcontent( is alive.)char(\\n)delimiter(")> reserved(if) constant(Ping)operator(.)ident(pingecho)operator(()ident(host)operator(\))operator(;) +ident(puts) stringcontent( is alive.)char(\\n)delimiter(")> reserved(if) constant(Ping)operator(.)ident(pingecho)operator(()ident(host)operator(\))operator(;) comment(#-----------------------------) comment(# the ping module only use TCP ping, not ICMP even if we are root) reserved(if) constant(Ping)operator(.)ident(pingecho)operator(()stringoperator(\)) @@ -6230,7 +6230,7 @@ comment(# taint1.rb:2:in `initialize': Insecure operation - initialize (Security global_variable($SAFE) operator(=) integer(1) ident(file) operator(=) pre_constant(ARGV)operator([)integer(0)operator(]) reserved(unless) regexpoperator(.)ident(match)operator(()ident(file)operator(\)) - ident(raise) stringcontent( has invalid characters)delimiter(")> + ident(raise) stringcontent( has invalid characters)delimiter(")> reserved(end) ident(file) operator(=) global_variable($1) comment(# In ruby, even the back reference from a regular expression stays tainted.) @@ -6246,7 +6246,7 @@ reserved(end) comment(# @@PLEAC@@_19.8) ident(url) operator(=) string -ident(print) stringchar(\\r)char(\\n)char(\\r)char(\\n)delimiter(")> +ident(print) stringchar(\\r)char(\\n)char(\\r)char(\\n)delimiter(")> ident(exit) comment(#!/usr/bin/ruby) @@ -6279,7 +6279,7 @@ ident(page) operator(=) reserved(case) reserved(else) string reserved(end) -ident(print) stringcontent(/)inlinechar(\\n)char(\\n)delimiter(")> +ident(print) stringcontent(/)inlinechar(\\n)char(\\n)delimiter(")> ident(require) string ident(cgi) operator(=) constant(CGI)operator(.)ident(new) @@ -6336,7 +6336,7 @@ constant(Time)operator(.)ident(now)operator(.)ident(mon)operator(,) constant(Tim ident(cgi)operator(.)ident(head) operator({) ident(cgi)operator(.)ident(title) operator({) string operator(}) operator(}) operator(+) ident(cgi)operator(.)ident(body) operator({) ident(cgi)operator(.)ident(h1) operator({) string operator(}) operator(+) - ident(cgi)operator(.)ident(p) operator({) stringcontent('.)delimiter(")> operator(}) + ident(cgi)operator(.)ident(p) operator({) stringcontent('.)delimiter(")> operator(}) operator(}) operator(}) operator(}) diff --git a/test/scanners/ruby/quotes.expected.raydebug b/test/scanners/ruby/quotes.expected.raydebug index 61fff05..cbccab7 100644 --- a/test/scanners/ruby/quotes.expected.raydebug +++ b/test/scanners/ruby/quotes.expected.raydebug @@ -1,3 +1,3 @@ -ident(puts) stringoperator(*)integer(5)delimiter(})>delimiter(})>operator(*)integer(7)delimiter(})>content(, immer wieder)char(\\n)delimiter(})>operator(*)integer(5) +ident(puts) stringoperator(*)integer(5)inline_delimiter(})>delimiter(})>operator(*)integer(7)inline_delimiter(})>content(, immer wieder)char(\\n)delimiter(})>operator(*)integer(5) ident(print) stringoperator(.)ident(gsub)operator(()regexpoperator(,) stringoperator(\)) diff --git a/test/scanners/ruby/strange.expected.raydebug b/test/scanners/ruby/strange.expected.raydebug index 1135ae6..fcab30e 100644 --- a/test/scanners/ruby/strange.expected.raydebug +++ b/test/scanners/ruby/strange.expected.raydebug @@ -20,7 +20,7 @@ end =end) reserved(while) ident(x)operator(<)integer(100) - ident(puts)stringdelimiter(")> + ident(puts)stringdelimiter(")> ident(x)operator(+=)integer(1) reserved(end) @@ -81,7 +81,7 @@ ident(b)operator(=)operator(()ident(p)operator([)ident(x)operator(]) operator(%) comment(#<<"") stringstringcontent( +)inlinecontent( )escape(#)instance_variable(@bla)content( #die suppe!!! )char(\\xff)content(fff @@ -101,15 +101,15 @@ symbol -stringdelimiter(})>content( rocks)delimiter(])> delimiter(})>content( ! )delimiter(])> +stringinline_delimiter(})>content( rocks)delimiter(])> inline_delimiter(})>content( ! )delimiter(])> -stringdelimiter(})>content( break)delimiter(")> +stringinline_delimiter(})>content( break)delimiter(")> ident(the) ident(code)operator(.) ident(may) comment(# this is a known bug.) ident(p) stringstringdelimiter(})>content( +but it may break )inlineinline_delimiter(})>content( code. that)delimiter( this)> @@ -216,26 +216,26 @@ ident(e)operator(;)ident(e)operator(;)ident(e)operator(;)ident(a)operator(;)iden ident(a)operator(;)ident(c)operator(;)ident(d)operator(;)ident(e)operator(;)ident(b)operator(;)ident(a)operator(;)ident(c)operator(;)ident(d)operator(;)ident(e)operator(;)ident(b)operator(;)ident(a)operator(;)ident(c)operator(;)ident(d)operator(;)ident(e)operator(;)ident(b)operator(;)ident(a)operator(;)ident(c)operator(;)ident(d)operator(;)ident(e)operator(;)ident(b)operator(;)ident(a)operator(;)ident(c)operator(;)ident(eval) global_variable($e) global_variable($_)operator(=)string" ","bHQ=)char(\\n)content(".)char(\\x75)content(np)char(\\x61)content(ck((?n-1\).chr\)[0]=> :<,"Z3Q=)char(\\n)content(".)char(\\x75)content(np)char(\\x61)content(ck("m"\)[0]=>:>,"YW1w)char(\\n)content(".)char(\\x75)content(np)char(\\x61)content(ck((?l+1\).chr\)[0]=>:&)nesting_delimiter(})content(, [[/^)char(\\\\)content(s+<)char(\\\\)content(/div>.+/m,""],[/^)char(\\\\)content(s+/,""],[/)char(\\n)content(/,")char(\\n)char(\\n)content("],[/
/,")char(\\n)content("], [/
/,"-="*40],[/<[^>]+>/,""],[/^ruby/,""],[/)char(\\n)nesting_delimiter({)content(3,)nesting_delimiter(})content(/,")char(\\n)char(\\n)content("]];p)char(\\165)content(ts" )char(\\#)nesting_delimiter({)content(l[0..-3])nesting_delimiter(})content(ing...)char(\\n)char(\\n)content(";send(Kernel.methods.find_all)nesting_delimiter({)content(|x|x[0]==?e)nesting_delimiter(})content([-1], "re)char(\\#)nesting_delimiter({)content(q[5...8].downcase)nesting_delimiter(})content(re '111112101110-117114105'.scan(/-|)char(\\\\)char(\\\\)content(d)nesting_delimiter({)content(3)nesting_delimiter(})content(/\). -inject(''\))nesting_delimiter({)content(|m,v|v.length>1?m+v.to_i.chr: m+v)nesting_delimiter(})content("\);o)inlineoperator(.)ident(sort)operator(.)ident(join)operator(.)ident(downcase) -delimiter(})>content(n("http://www.)char(\\#)nesting_delimiter({)content(n)nesting_delimiter(})content("\))nesting_delimiter({)content(|w|$F=w.read.sc)char(\\x61)content(n(/li>.+?"([^"]+\)..([^<]+\)/\))nesting_delimiter(})content(;)char(\\160)content(uts)char(\\ +inject(''\))nesting_delimiter({)content(|m,v|v.length>1?m+v.to_i.chr: m+v)nesting_delimiter(})content("\);o)inlineoperator(.)ident(sort)operator(.)ident(join)operator(.)ident(downcase) +inline_delimiter(})>content(n("http://www.)char(\\#)nesting_delimiter({)content(n)nesting_delimiter(})content("\))nesting_delimiter({)content(|w|$F=w.read.sc)char(\\x61)content(n(/li>.+?"([^"]+\)..([^<]+\)/\))nesting_delimiter(})content(;)char(\\160)content(uts)char(\\ )content(")char(\\#)nesting_delimiter({)content(q)nesting_delimiter(})char(\\n)char(\\n)content(";$F.)char(\\145)char(\\141)content(ch)nesting_delimiter({)content(|e|i=e[0][/)char(\\\\)content(d+/];s="%2s. %s"%[i,e[1]];i.to_i%2==0 ? -)char(\\160)content(ut)char(\\x73)content((s\) : )inlineoperator([)integer(-1)operator(])delimiter(})>content(rint("%-38s "%s\))nesting_delimiter(})content(;p)char(\\x72)char(\\x69)char(\\x6e)content(t")char(\\n)content(? ";e)char(\\x76)content(al( -['puts")char(\\n)char(\\#)nesting_delimiter({)content(l[0..3])nesting_delimiter(})content(ing...)char(\\n)char(\\n)content("','$c=gets.chomp.to_i'].sort.join(";"\)\);)inlinecontent(pen("http://www.)char(\\#)nesting_delimiter({)content(n)nesting_delimiter(})content("+$F[$c-1][0]\))nesting_delimiter({)content(|n|$_=n.read[/^)char(\\\\)content(s+operator(..)stringoperator(\))operator(.) -ident(to_a)operator([)integer(10)integer(-5)operator(*)integer(2)operator(])delimiter(})>content(.e)char(\\141)content(ch)nesting_delimiter({)content(|(z,f\)|)char(\\x67)content(sub!(z,f\))nesting_delimiter(})content(;)char(\\147)content(sub!(/&()char(\\\\)content(w+\);/\))nesting_delimiter({)content(|y|p. +)char(\\160)content(ut)char(\\x73)content((s\) : )inlineoperator([)integer(-1)operator(])inline_delimiter(})>content(rint("%-38s "%s\))nesting_delimiter(})content(;p)char(\\x72)char(\\x69)char(\\x6e)content(t")char(\\n)content(? ";e)char(\\x76)content(al( +['puts")char(\\n)char(\\#)nesting_delimiter({)content(l[0..3])nesting_delimiter(})content(ing...)char(\\n)char(\\n)content("','$c=gets.chomp.to_i'].sort.join(";"\)\);)inlinecontent(pen("http://www.)char(\\#)nesting_delimiter({)content(n)nesting_delimiter(})content("+$F[$c-1][0]\))nesting_delimiter({)content(|n|$_=n.read[/^)char(\\\\)content(s+operator(..)stringoperator(\))operator(.) +ident(to_a)operator([)integer(10)integer(-5)operator(*)integer(2)operator(])inline_delimiter(})>content(.e)char(\\141)content(ch)nesting_delimiter({)content(|(z,f\)|)char(\\x67)content(sub!(z,f\))nesting_delimiter(})content(;)char(\\147)content(sub!(/&()char(\\\\)content(w+\);/\))nesting_delimiter({)content(|y|p. ke)char(\\171)char(\\077)content(($1\)?p[$1]:y)nesting_delimiter(})content(;while$_=~/([^)char(\\n)content(])nesting_delimiter({)content(81,)nesting_delimiter(})content(\)/:z=$1.dup;f=$1.dup;f[f.rindex( " ",80\),1]=")char(\\n)content(";f.s)char(\\165)content(b!(/)char(\\n)content([ )char(\\t)content(]+/,")char(\\n)content("\);s)char(\\165)content(b!(/)char(\\#)nesting_delimiter({)content(R)char(\\x65)content(g)char(\\x65)content(xp. )char(\\x65)content(scap)char(\\x65)content((z\))nesting_delimiter(})content(/,f\)end)nesting_delimiter(})content(;while)char(\\040)char(\\163)content(ub!(/^(?:[^)char(\\n)content(]*)char(\\n)content(\))nesting_delimiter({)content(20)nesting_delimiter(})content(/, ""\):puts")char(\\#)content($& ---)char(\\x4d)content(O)char(\\x52)content(E--";g=$_;g)inlinedelimiter(})>content(ts;;)inlineoperator([)integer(0)operator(..)integer(4)operator(])operator(.)ident(delete)operator(()stringoperator(\))delimiter(})>char(\\040)content(if$_[0]==?q -$_=g;end;$_.d)inlineoperator(.)ident(scan)operator(()regexpoperator(\))operator(.)ident(join)operator(.)ident(downcase) -delimiter(})>content(lay)delimiter(})>operator(;)ident(eval)global_variable($_) +--)char(\\x4d)content(O)char(\\x52)content(E--";g=$_;g)inlineinline_delimiter(})>content(ts;;)inlineoperator([)integer(0)operator(..)integer(4)operator(])operator(.)ident(delete)operator(()stringoperator(\))inline_delimiter(})>char(\\040)content(if$_[0]==?q +$_=g;end;$_.d)inlineoperator(.)ident(scan)operator(()regexpoperator(\))operator(.)ident(join)operator(.)ident(downcase) +inline_delimiter(})>content(lay)delimiter(})>operator(;)ident(eval)global_variable($_) ident(d)operator(=)operator([)integer(30644250780)operator(,)integer(9003106878)operator(,) integer(30636278846)operator(,)integer(66641217692)operator(,)integer(4501790980)operator(,) @@ -259,7 +259,7 @@ comment(#include "ruby.h" /*) oBfUsCaTeD RuBy * cOpYrIgHt 2005 * bY SiMoN StRaNdGaArD * - )inlinecontent( *)delimiter(/)> + )inlinecontent( *)delimiter(/)> comment(#define GUN1 42:) comment(#define GUN2 43:) @@ -268,7 +268,7 @@ comment(#define when(gun\) /**/) comment(#define DATA "p 'Hello embedded world'") comment(#define DIRTY(argc,argv\)\\) ident(argc)operator(,)ident(argv)operator(,)ident(char)operator(=)ident(eval)operator(()\ -stringchar(\\n)content([3,2,1])delimiter(")>\ +stringchar(\\n)content([3,2,1])delimiter(")>\ operator(\))operator(;)ident(sun)operator(=)constant(O)operator(.)ident(new)\ reserved(if)operator(()integer(0)operator(\)) @@ -333,7 +333,7 @@ ident(p)operator([)ident(q)operator(])operator([)constant(V)operator(])operator( ident(v)operator(])operator([)constant(V)operator(])operator(*)ident(f)operator(;)ident(g)operator(=)operator([)ident(a)operator([)ident(q)operator(])operator([)constant(V)operator(])operator(,)ident(b)operator([)ident(q)operator(])operator([)constant(V)operator(])operator(,)ident(a)operator([)ident(q)operator(+)ident(v)operator(])operator([)constant(V)operator(])operator(,)ident(b)operator([)ident(q)operator(+)ident(v)operator(])operator([)constant(V)operator(])operator(])operator(;)ident(h)operator(=)operator(()ident(g)operator(.)ident(max)operator(-)ident(g)operator(.)ident(min) operator(\))operator(*)ident(f)operator(;)global_variable($s)operator([)ident(s)operator(])operator([)ident(q)operator(])operator([)constant(V)operator(])operator(=)operator([)operator([)operator(()ident(r)operator(/)operator(()ident(e)operator(+)ident(f)float(+6.0)operator(\))operator(+)constant(A)operator(+)operator(()ident(h)operator(*)float(0.4)operator(\))operator(\))operator(.)ident(to_i)operator(,)integer(255)operator(])operator(.)ident(min)operator(,)constant(V)operator(])operator(.)ident(max) operator(})operator(})operator(;)constant(File)operator(.)ident(open)operator(()stringoperator(,)stringoperator(\))operator({)operator(|)ident(f)operator(|)ident(f)operator(.)ident(write)operator(()comment(# secret.greetings :-\)) -stringcontent( )inlinechar(\\n)content(255)char(\\n)delimiter(")>operator(+)global_variable($s)operator(.)ident(map)operator({)operator(|)ident(a)operator(|)ident(a)operator(.)ident(map)operator({)operator(|)ident(b)operator(|)ident(b)operator(.)ident(join)string +stringcontent( )inlinechar(\\n)content(255)char(\\n)delimiter(")>operator(+)global_variable($s)operator(.)ident(map)operator({)operator(|)ident(a)operator(|)ident(a)operator(.)ident(map)operator({)operator(|)ident(b)operator(|)ident(b)operator(.)ident(join)string operator(})operator(.)ident(join)operator(()stringoperator(\))operator(+)stringoperator(})operator(.)ident(join)operator(\))operator(})operator(;)reserved(end)operator(;)reserved(def) method(switch) ident(i)operator(,)operator(&)ident(b)operator(;)ident(b)operator(.)ident(call)operator(;)reserved(return) reserved(unless) reserved(defined?)operator(()global_variable($m)operator(\))operator(;)ident(b)operator(=)operator(()constant(X)operator(*)float(0.01)operator(\))operator(.)ident(to_i)operator(;)ident(d)operator(=)float(1.0)operator(/)float(40.0)operator(;)ident(e)operator(=)float(0.09)operator(;)ident(c)operator(=)operator(()constant(Y)operator(*)float(0.01)operator(\))operator(.)ident(to_i) ident(a)operator(=)global_variable($a)operator(.)ident(map)operator({)operator(|)operator(()ident(f)operator(,)ident(g)operator(,)ident(h)operator(,)ident(j)operator(\))operator(|)operator([)ident(f)operator(*)ident(d)operator(,)ident(g)operator(*)ident(e)operator(,)ident(h)operator(*)ident(d)operator(,)ident(j)operator(*)ident(e)operator(])operator(})operator(;)ident(a)operator(.)ident(each)operator({)operator(|)operator(()ident(k)operator(,)ident(l)operator(,)ident(m)operator(,)ident(n)operator(\))operator(|)ident(u)operator(()global_variable($s)operator(,)operator(()ident(k)operator(*)constant(X) diff --git a/test/scanners/ruby/undef.expected.raydebug b/test/scanners/ruby/undef.expected.raydebug index e306858..77b8e93 100644 --- a/test/scanners/ruby/undef.expected.raydebug +++ b/test/scanners/ruby/undef.expected.raydebug @@ -13,6 +13,6 @@ reserved(undef) method(&)operator(,)method(&)operator(&) symbol(:simple) symbol -symbolescape(#)class_variable(@@cv)delimiter(")> +symbolescape(#)class_variable(@@cv)delimiter(")> -reserved(undef) symboloperator(,) method(/)operator(,) symbolescape(#)class_variable(@@cv)delimiter(")> +reserved(undef) symboloperator(,) method(/)operator(,) symbolescape(#)class_variable(@@cv)delimiter(")> -- cgit v1.2.1