diff options
Diffstat (limited to 'tests/lexers/rb/example8.txt')
| -rw-r--r-- | tests/lexers/rb/example8.txt | 1375 |
1 files changed, 1375 insertions, 0 deletions
diff --git a/tests/lexers/rb/example8.txt b/tests/lexers/rb/example8.txt new file mode 100644 index 00000000..43814cd0 --- /dev/null +++ b/tests/lexers/rb/example8.txt @@ -0,0 +1,1375 @@ +---input--- +a.each{|el|anz[el]=anz[el]?anz[el]+1:1} +while x<10000 +#a bis f dienen dazu die Nachbarschaft festzulegen. Man stelle sich die #Zahl von 1 bis 64 im Binärcode vor 1 bedeutet an 0 aus + b=(p[x]%32)/16<1 ? 0 : 1 + + (x-102>=0? n[x-102].to_i : 0)*a+(x-101>=0?n[x-101].to_i : 0)*e+n[x-100].to_i+(x-99>=0? n[x-99].to_i : 0)*f+(x-98>=0? n[x-98].to_i : 0)*a+ + n[x+199].to_i*b+n[x+200].to_i*d+n[x+201].to_i*b + +#und die Ausgabe folgt +g=%w{} +x=0 + +#leere regex +test //, 123 + +while x<100 + puts"#{g[x]}" + x+=1 +end + +puts"" +sleep(10) + +1E1E1 +puts 30.send(:/, 5) # prints 6 + +# fun with class attributes +class Foo + def self.blub x + if not x.nil? + self.new + end + end + def another_way_to_get_class + self.class + end +end + +# ruby 1.9 "call operator" +a = Proc.new { 42 } +a.() + +"instance variables can be #@included, #@@class_variables\n and #$globals as well." +`instance variables can be #@included, #@@class_variables\n and #$globals as well.` +'instance variables can be #@included, #@@class_variables\n and #$globals as well.' +/instance variables can be #@included, #@@class_variables\n and #$globals as well./mousenix +:"instance variables can be #@included, #@@class_variables\n and #$globals as well." +:'instance variables can be #@included, #@@class_variables\n and #$globals as well.' +%'instance variables can be #@included, #@@class_variables\n and #$globals as well.' +%q'instance variables can be #@included, #@@class_variables\n and #$globals as well.' +%Q'instance variables can be #@included, #@@class_variables\n and #$globals as well.' +%w'instance variables can be #@included, #@@class_variables\n and #$globals as well.' +%W'instance variables can be #@included, #@@class_variables\n and #$globals as well.' +%s'instance variables can be #@included, #@@class_variables\n and #$globals as well.' +%r'instance variables can be #@included, #@@class_variables\n and #$globals as well.' +%x'instance variables can be #@included, #@@class_variables\n and #$globals as well.' + +#%W[ but #@0illegal_values look strange.] + +%s#ruby allows strange#{constructs} +%s#ruby allows strange#$constructs +%s#ruby allows strange#@@constructs + +################################################################## +# HEREDOCS +foo(<<-A, <<-B) +this is the text of a +A +and this is the text of b +B + +a = <<"EOF" +This is a multiline #$here document +terminated by EOF on a line by itself +EOF + +a = <<'EOF' +This is a multiline #$here document +terminated by EOF on a line by itself +EOF + +b=(p[x] %32)/16<1 ? 0 : 1 + +<<"" +#{test} +#@bla +#die suppe!!! +\xfffff + + +super <<-EOE % [ + foo +EOE + +<<X +X +X + +%s(uninter\)pre\ted) # comment here +%q(uninter\)pre\ted) # comment here +%Q(inter\)pre\ted) # comment here +:"inter\)pre\ted" # comment here +:'uninter\'pre\ted' # comment here + +%q[haha! [nesting [rocks] ! ] ] # commeht here + + +################################################################## +class NP +def initialize a=@p=[], b=@b=[]; end +def +@;@b<<1;b2c end;def-@;@b<<0;b2c end +def b2c;if @b.size==8;c=0;@b.each{|b|c<<=1;c|=b};send( + 'lave'.reverse,(@p.join))if c==0;@p<< c.chr;@b=[] end + self end end ; begin _ = NP.new end + + +# Regexes +/ +this is a +mutliline +regex +/ + +this /is a +multiline regex too/ + +also /4 +is one/ + +this(/ +too +/) + +# this not +2 /4 +asfsadf/ + + +#from: http://coderay.rubychan.de/rays/show/383 +class Object + alias :xeq :` + def `(cmd, p2) + self.method(cmd.to_sym).call(p2) + end +end +p [1,2,3].`('concat', [4,5,6]) # => [1, 2, 3, 4, 5, 6] +p [1,2,3].`(:concat, [4,5,6]) # => [1, 2, 3, 4, 5, 6] +p "Hurra! ".`(:*, 3) # => "Hurra! Hurra! Hurra! " +p "Hurra! ".`('*', 3) # => "Hurra! Hurra! Hurra! " +# Leider geht nicht die Wunschform +# [1,2,3] `concat` [4,5,6] + +class Object + @@infixops = [] + alias :xeq :` + def addinfix(operator) + @@infixops << operator + end + def `(expression) + @@infixops.each{|op|break if expression.match(/^(.*?) (#{op}) (.*)$/)} + raise "unknown infix operator in expression: #{expression}" if $2 == nil + eval($1).method($2.to_sym).call(eval($3)) + end +end +addinfix("concat") +p `[1,2,3] concat [4,5,6]` # => [1, 2, 3, 4, 5, 6] + + +# HEREDOC FUN!!!!!!!1111 +foo(<<A, <<-B, <<C) +this is the text of a + A!!!! +A +and this is text of B!!!!!!111 + B +and here some C +C + +---tokens--- +'a' Name +'.' Operator +'each' Name +'{' Punctuation +'|' Operator +'el' Name +'|' Operator +'anz' Name +'[' Operator +'el' Name +']' Operator +'=' Operator +'anz' Name +'[' Operator +'el' Name +']' Operator +'?' Punctuation +'anz' Name +'[' Operator +'el' Name +']' Operator +'+' Operator +'1' Literal.Number.Integer +':' Punctuation +'1' Literal.Number.Integer +'}' Punctuation +'\n' Text + +'while' Keyword +' ' Text +'x' Name +'<' Operator +'10000' Literal.Number.Integer +'\n' Text + +'#a bis f dienen dazu die Nachbarschaft festzulegen. Man stelle sich die #Zahl von 1 bis 64 im Binärcode vor 1 bedeutet an 0 aus' Comment.Single +'\n ' Text +'b' Name +'=' Operator +'(' Punctuation +'p' Name.Builtin +'[' Operator +'x' Name +']' Operator +'%' Operator +'32' Literal.Number.Integer +')' Punctuation +'/' Operator +'16' Literal.Number.Integer +'<' Operator +'1' Literal.Number.Integer +' ' Text +'?' Operator +' ' Text +'0' Literal.Number.Integer +' ' Text +':' Punctuation +' ' Text +'1' Literal.Number.Integer +'\n\n ' Text +'(' Punctuation +'x' Name +'-' Operator +'102' Literal.Number.Integer +'>' Operator +'=' Operator +'0' Literal.Number.Integer +'?' Operator +' ' Text +'n' Name +'[' Operator +'x' Name +'-' Operator +'102' Literal.Number.Integer +']' Operator +'.' Operator +'to_i' Name +' ' Text +':' Punctuation +' ' Text +'0' Literal.Number.Integer +')' Punctuation +'*' Operator +'a' Name +'+' Operator +'(' Punctuation +'x' Name +'-' Operator +'101' Literal.Number.Integer +'>' Operator +'=' Operator +'0' Literal.Number.Integer +'?' Operator +'n' Name +'[' Operator +'x' Name +'-' Operator +'101' Literal.Number.Integer +']' Operator +'.' Operator +'to_i' Name +' ' Text +':' Punctuation +' ' Text +'0' Literal.Number.Integer +')' Punctuation +'*' Operator +'e' Name +'+' Operator +'n' Name +'[' Operator +'x' Name +'-' Operator +'100' Literal.Number.Integer +']' Operator +'.' Operator +'to_i' Name +'+' Operator +'(' Punctuation +'x' Name +'-' Operator +'99' Literal.Number.Integer +'>' Operator +'=' Operator +'0' Literal.Number.Integer +'?' Operator +' ' Text +'n' Name +'[' Operator +'x' Name +'-' Operator +'99' Literal.Number.Integer +']' Operator +'.' Operator +'to_i' Name +' ' Text +':' Punctuation +' ' Text +'0' Literal.Number.Integer +')' Punctuation +'*' Operator +'f' Name +'+' Operator +'(' Punctuation +'x' Name +'-' Operator +'98' Literal.Number.Integer +'>' Operator +'=' Operator +'0' Literal.Number.Integer +'?' Operator +' ' Text +'n' Name +'[' Operator +'x' Name +'-' Operator +'98' Literal.Number.Integer +']' Operator +'.' Operator +'to_i' Name +' ' Text +':' Punctuation +' ' Text +'0' Literal.Number.Integer +')' Punctuation +'*' Operator +'a' Name +'+' Operator +'\n ' Text +'n' Name +'[' Operator +'x' Name +'+' Operator +'199' Literal.Number.Integer +']' Operator +'.' Operator +'to_i' Name +'*' Operator +'b' Name +'+' Operator +'n' Name +'[' Operator +'x' Name +'+' Operator +'200' Literal.Number.Integer +']' Operator +'.' Operator +'to_i' Name +'*' Operator +'d' Name +'+' Operator +'n' Name +'[' Operator +'x' Name +'+' Operator +'201' Literal.Number.Integer +']' Operator +'.' Operator +'to_i' Name +'*' Operator +'b' Name +'\n\n' Text + +'#und die Ausgabe folgt' Comment.Single +'\n' Text + +'g' Name +'=' Operator +'%w{' Literal.String.Other +'}' Literal.String.Other +'\n' Text + +'x' Name +'=' Operator +'0' Literal.Number.Integer +'\n\n' Text + +'#leere regex' Comment.Single +'\n' Text + +'test' Name.Builtin +' ' Text +'/' Literal.String.Regex +'/' Literal.String.Regex +',' Punctuation +' ' Text +'123' Literal.Number.Integer +'\n\n' Text + +'while' Keyword +' ' Text +'x' Name +'<' Operator +'100' Literal.Number.Integer +'\n ' Text +'puts' Name.Builtin +'"' Literal.String.Double +'#{' Literal.String.Interpol +'g' Name +'[' Operator +'x' Name +']' Operator +'}' Literal.String.Interpol +'"' Literal.String.Double +'\n ' Text +'x' Name +'+=' Operator +'1' Literal.Number.Integer +'\n' Text + +'end' Keyword +'\n\n' Text + +'puts' Name.Builtin +'"' Literal.String.Double +'"' Literal.String.Double +'\n' Text + +'sleep' Name.Builtin +'(' Punctuation +'10' Literal.Number.Integer +')' Punctuation +'\n\n' Text + +'1' Literal.Number.Integer +'E1E1' Name.Constant +'\n' Text + +'puts' Name.Builtin +' ' Text +'30' Literal.Number.Integer +'.' Operator +'send' Name +'(' Punctuation +':/' Literal.String.Symbol +',' Punctuation +' ' Text +'5' Literal.Number.Integer +')' Punctuation +' ' Text +'# prints 6' Comment.Single +'\n\n' Text + +'# fun with class attributes' Comment.Single +'\n' Text + +'class' Keyword +' ' Text +'Foo' Name.Class +'\n ' Text +'def' Keyword +' ' Text +'self' Name.Class +'.' Operator +'blub' Name.Function +' ' Text +'x' Name +'\n ' Text +'if' Keyword +' ' Text +'not' Operator.Word +' ' Text +'x' Name +'.' Operator +'nil?' Name +'\n ' Text +'self' Name.Builtin +'.' Operator +'new' Name +'\n ' Text +'end' Keyword +'\n ' Text +'end' Keyword +'\n ' Text +'def' Keyword +' ' Text +'another_way_to_get_class' Name.Function +'\n ' Text +'self' Name.Builtin +'.' Operator +'class' Name +'\n ' Text +'end' Keyword +'\n' Text + +'end' Keyword +'\n\n' Text + +'# ruby 1.9 "call operator"' Comment.Single +'\n' Text + +'a' Name +' ' Text +'=' Operator +' ' Text +'Proc' Name.Constant +'.' Operator +'new' Name +' ' Text +'{' Punctuation +' ' Text +'42' Literal.Number.Integer +' ' Text +'}' Punctuation +'\n' Text + +'a' Name +'.' Operator +'(' Punctuation +')' Punctuation +'\n\n' Text + +'"' Literal.String.Double +'instance variables can be ' Literal.String.Double +'#@included' Literal.String.Interpol +', ' Literal.String.Double +'#@@class_variables' Literal.String.Interpol +'\\n' Literal.String.Escape +' and ' Literal.String.Double +'#$globals' Literal.String.Interpol +' as well.' Literal.String.Double +'"' Literal.String.Double +'\n' Text + +'`' Literal.String.Backtick +'instance variables can be ' Literal.String.Backtick +'#@included' Literal.String.Interpol +', ' Literal.String.Backtick +'#@@class_variables' Literal.String.Interpol +'\\n' Literal.String.Escape +' and ' Literal.String.Backtick +'#$globals' Literal.String.Interpol +' as well.' Literal.String.Backtick +'`' Literal.String.Backtick +'\n' Text + +"'" Literal.String.Single +'instance variables can be ' Literal.String.Single +'#@included' Literal.String.Interpol +', ' Literal.String.Single +'#@@class_variables' Literal.String.Interpol +'\\n' Literal.String.Escape +' and ' Literal.String.Single +'#$globals' Literal.String.Interpol +' as well.' Literal.String.Single +"'" Literal.String.Single +'\n' Text + +'/' Literal.String.Regex +'instance variables can be ' Literal.String.Regex +'#@included' Literal.String.Interpol +', ' Literal.String.Regex +'#@@class_variables' Literal.String.Interpol +'\\' Literal.String.Regex +'n and ' Literal.String.Regex +'#$globals' Literal.String.Interpol +' as well.' Literal.String.Regex +'/mousenix' Literal.String.Regex +'\n' Text + +':"' Literal.String.Symbol +'instance variables can be ' Literal.String.Symbol +'#@included' Literal.String.Interpol +', ' Literal.String.Symbol +'#@@class_variables' Literal.String.Interpol +'\\n' Literal.String.Escape +' and ' Literal.String.Symbol +'#$globals' Literal.String.Interpol +' as well.' Literal.String.Symbol +'"' Literal.String.Symbol +'\n' Text + +":'instance variables can be #@included, #@@class_variables\\n and #$globals as well.'" Literal.String.Symbol +'\n' Text + +"%'" Literal.String.Other +'instance variables can be ' Literal.String.Other +'#@included' Literal.String.Interpol +', ' Literal.String.Other +'#@@class_variables' Literal.String.Interpol +'\\' Literal.String.Other +'n and ' Literal.String.Other +'#$globals' Literal.String.Interpol +' as well.' Literal.String.Other +"'" Literal.String.Other +'\n' Text + +"%q'instance variables can be #@included, #@@class_variables\\n and #$globals as well.'" Literal.String.Other +'\n' Text + +"%Q'" Literal.String.Other +'instance variables can be ' Literal.String.Other +'#@included' Literal.String.Interpol +', ' Literal.String.Other +'#@@class_variables' Literal.String.Interpol +'\\' Literal.String.Other +'n and ' Literal.String.Other +'#$globals' Literal.String.Interpol +' as well.' Literal.String.Other +"'" Literal.String.Other +'\n' Text + +"%w'instance variables can be #@included, #@@class_variables\\n and #$globals as well.'" Literal.String.Other +'\n' Text + +"%W'" Literal.String.Other +'instance variables can be ' Literal.String.Other +'#@included' Literal.String.Interpol +', ' Literal.String.Other +'#@@class_variables' Literal.String.Interpol +'\\' Literal.String.Other +'n and ' Literal.String.Other +'#$globals' Literal.String.Interpol +' as well.' Literal.String.Other +"'" Literal.String.Other +'\n' Text + +"%s'instance variables can be #@included, #@@class_variables\\n and #$globals as well.'" Literal.String.Other +'\n' Text + +"%r'" Literal.String.Regex +'instance variables can be ' Literal.String.Regex +'#@included' Literal.String.Interpol +', ' Literal.String.Regex +'#@@class_variables' Literal.String.Interpol +'\\' Literal.String.Regex +'n and ' Literal.String.Regex +'#$globals' Literal.String.Interpol +' as well.' Literal.String.Regex +"'" Literal.String.Regex +'\n' Text + +"%x'" Literal.String.Other +'instance variables can be ' Literal.String.Other +'#@included' Literal.String.Interpol +', ' Literal.String.Other +'#@@class_variables' Literal.String.Interpol +'\\' Literal.String.Other +'n and ' Literal.String.Other +'#$globals' Literal.String.Interpol +' as well.' Literal.String.Other +"'" Literal.String.Other +'\n\n' Text + +'#%W[ but #@0illegal_values look strange.]' Comment.Single +'\n\n' Text + +'%s#ruby allows strange#' Literal.String.Other +'{' Punctuation +'constructs' Name +'}' Punctuation +'\n' Text + +'%s#ruby allows strange#' Literal.String.Other +'$constructs' Name.Variable.Global +'\n' Text + +'%s#ruby allows strange#' Literal.String.Other +'@@constructs' Name.Variable.Class +'\n\n' Text + +'##################################################################' Comment.Single +'\n' Text + +'# HEREDOCS' Comment.Single +'\n' Text + +'foo' Name +'(' Punctuation +'<<-' Operator +'' Literal.String.Heredoc +'A' Literal.String.Delimiter +'' Literal.String.Heredoc +',' Punctuation +' ' Text +'<<-' Operator +'' Literal.String.Heredoc +'B' Literal.String.Delimiter +'' Literal.String.Heredoc +')' Punctuation +'\n' Text + +'this is the text of a\n' Literal.String.Heredoc + +'A\n' Literal.String.Delimiter + +'and this is the text of b\n' Literal.String.Heredoc + +'B\n' Literal.String.Delimiter + +'\n' Text + +'a' Name +' ' Text +'=' Operator +' ' Text +'<<' Operator +'"' Literal.String.Heredoc +'EOF' Literal.String.Delimiter +'"' Literal.String.Heredoc +'\n' Text + +'This is a multiline #$here document\n' Literal.String.Heredoc + +'terminated by EOF on a line by itself\n' Literal.String.Heredoc + +'EOF\n' Literal.String.Delimiter + +'\n' Text + +'a' Name +' ' Text +'=' Operator +' ' Text +'<<' Operator +"'" Literal.String.Heredoc +'EOF' Literal.String.Delimiter +"'" Literal.String.Heredoc +'\n' Text + +'This is a multiline #$here document\n' Literal.String.Heredoc + +'terminated by EOF on a line by itself\n' Literal.String.Heredoc + +'EOF\n' Literal.String.Delimiter + +'\n' Text + +'b' Name +'=' Operator +'(' Punctuation +'p' Name.Builtin +'[' Operator +'x' Name +']' Operator +' ' Text +'%' Operator +'32' Literal.Number.Integer +')' Punctuation +'/' Operator +'16' Literal.Number.Integer +'<' Operator +'1' Literal.Number.Integer +' ' Text +'?' Operator +' ' Text +'0' Literal.Number.Integer +' ' Text +':' Punctuation +' ' Text +'1' Literal.Number.Integer +'\n\n' Text + +'<<' Operator +'"' Literal.String.Heredoc +'' Literal.String.Delimiter +'"' Literal.String.Heredoc +'\n' Text + +'#{test}\n' Literal.String.Heredoc + +'#@bla\n' Literal.String.Heredoc + +'#die suppe!!!\n' Literal.String.Heredoc + +'\\xfffff\n' Literal.String.Heredoc + +'\n' Literal.String.Delimiter + +'\n' Text + +'super' Keyword +' ' Text +'<<-' Operator +'' Literal.String.Heredoc +'EOE' Literal.String.Delimiter +'' Literal.String.Heredoc +' ' Text +'%' Operator +' ' Text +'[' Operator +'\n' Text + +' foo\n' Literal.String.Heredoc + +'EOE\n' Literal.String.Delimiter + +'\n' Text + +'<<' Operator +'' Literal.String.Heredoc +'X' Literal.String.Delimiter +'' Literal.String.Heredoc +'\n' Text + +'X\n' Literal.String.Delimiter + +'X' Name +'\n\n' Text + +'%s(' Literal.String.Other +'uninter' Literal.String.Other +'\\)' Literal.String.Other +'pre' Literal.String.Other +'\\' Literal.String.Other +'ted' Literal.String.Other +')' Literal.String.Other +' ' Text +'# comment here' Comment.Single +'\n' Text + +'%q(' Literal.String.Other +'uninter' Literal.String.Other +'\\)' Literal.String.Other +'pre' Literal.String.Other +'\\' Literal.String.Other +'ted' Literal.String.Other +')' Literal.String.Other +' ' Text +'# comment here' Comment.Single +'\n' Text + +'%Q(' Literal.String.Other +'inter' Literal.String.Other +'\\)' Literal.String.Other +'pre' Literal.String.Other +'\\t' Literal.String.Escape +'ed' Literal.String.Other +')' Literal.String.Other +' ' Text +'# comment here' Comment.Single +'\n' Text + +':"' Literal.String.Symbol +'inter' Literal.String.Symbol +'\\' Literal.String.Symbol +')pre' Literal.String.Symbol +'\\t' Literal.String.Escape +'ed' Literal.String.Symbol +'"' Literal.String.Symbol +' ' Text +'# comment here' Comment.Single +'\n' Text + +":'uninter\\'pre\\ted'" Literal.String.Symbol +' ' Text +'# comment here' Comment.Single +'\n\n' Text + +'%q[' Literal.String.Other +'haha! ' Literal.String.Other +'[' Literal.String.Other +'nesting ' Literal.String.Other +'[' Literal.String.Other +'rocks' Literal.String.Other +']' Literal.String.Other +' ! ' Literal.String.Other +']' Literal.String.Other +' ' Literal.String.Other +']' Literal.String.Other +' ' Text +'# commeht here' Comment.Single +'\n\n\n' Text + +'##################################################################' Comment.Single +'\n' Text + +'class' Keyword +' ' Text +'NP' Name.Class +'\n' Text + +'def' Keyword +' ' Text +'initialize' Name.Function +' ' Text +'a' Name +'=' Operator +'@p' Name.Variable.Instance +'=' Operator +'[' Operator +']' Operator +',' Punctuation +' ' Text +'b' Name +'=' Operator +'@b' Name.Variable.Instance +'=' Operator +'[' Operator +']' Operator +';' Punctuation +' ' Text +'end' Keyword +'\n' Text + +'def' Keyword +' ' Text +'+@' Name.Function +';' Punctuation +'@b' Name.Variable.Instance +'<<' Operator +'1' Literal.Number.Integer +';' Punctuation +'b2c' Name +' ' Text +'end' Keyword +';' Punctuation +'def' Keyword +'-@' Name.Function +';' Punctuation +'@b' Name.Variable.Instance +'<<' Operator +'0' Literal.Number.Integer +';' Punctuation +'b2c' Name +' ' Text +'end' Keyword +'\n' Text + +'def' Keyword +' ' Text +'b2c' Name.Function +';' Punctuation +'if' Keyword +' ' Text +'@b' Name.Variable.Instance +'.' Operator +'size' Name +'==' Operator +'8' Literal.Number.Integer +';' Punctuation +'c' Name +'=' Operator +'0' Literal.Number.Integer +';' Punctuation +'@b' Name.Variable.Instance +'.' Operator +'each' Name +'{' Punctuation +'|' Operator +'b' Name +'|' Operator +'c' Name +'<<' Operator +'=' Operator +'1' Literal.Number.Integer +';' Punctuation +'c' Name +'|=' Operator +'b' Name +'}' Punctuation +';' Punctuation +'send' Name.Builtin +'(' Punctuation +'\n ' Text +"'" Literal.String.Single +'lave' Literal.String.Single +"'" Literal.String.Single +'.' Operator +'reverse' Name +',' Punctuation +'(' Punctuation +'@p' Name.Variable.Instance +'.' Operator +'join' Name +')' Punctuation +')' Punctuation +'if' Keyword +' ' Text +'c' Name +'==' Operator +'0' Literal.Number.Integer +';' Punctuation +'@p' Name.Variable.Instance +'<<' Operator +' ' Text +'c' Name +'.' Operator +'chr' Name +';' Punctuation +'@b' Name.Variable.Instance +'=' Operator +'[' Operator +']' Operator +' ' Text +'end' Keyword +'\n ' Text +'self' Name.Builtin +' ' Text +'end' Keyword +' ' Text +'end' Keyword +' ' Text +';' Punctuation +' ' Text +'begin' Keyword +' ' Text +'_' Name +' ' Text +'=' Operator +' ' Text +'NP' Name.Constant +'.' Operator +'new' Name +' ' Text +'end' Keyword +'\n\n\n' Text + +'# Regexes' Comment.Single +'\n' Text + +'/' Literal.String.Regex +'\nthis is a\nmutliline\nregex\n' Literal.String.Regex + +'/' Literal.String.Regex +'\n\n' Text + +'this' Name +' ' Text +'/' Literal.String.Regex +'is a\nmultiline regex too' Literal.String.Regex +'/' Literal.String.Regex +'\n\n' Text + +'also' Name +' ' Text +'/' Literal.String.Regex +'4\nis one' Literal.String.Regex +'/' Literal.String.Regex +'\n\n' Text + +'this' Name +'(' Punctuation +'/' Literal.String.Regex +'\ntoo\n' Literal.String.Regex + +'/' Literal.String.Regex +')' Punctuation +'\n\n' Text + +'# this not' Comment.Single +'\n' Text + +'2' Literal.Number.Integer +' ' Text +'/' Operator +'4' Literal.Number.Integer +'\n' Text + +'asfsadf' Name +'/' Operator +'\n\n\n' Text + +'#from: http://coderay.rubychan.de/rays/show/383' Comment.Single +'\n' Text + +'class' Keyword +' ' Text +'Object' Name.Class +'\n ' Text +'alias' Keyword +' ' Text +':xeq' Literal.String.Symbol +' ' Text +':`' Literal.String.Symbol +'\n ' Text +'def' Keyword +' ' Text +'`' Name.Function +'(' Punctuation +'cmd' Name +',' Punctuation +' ' Text +'p2' Name +')' Punctuation +'\n ' Text +'self' Name.Builtin +'.' Operator +'method' Name +'(' Punctuation +'cmd' Name +'.' Operator +'to_sym' Name +')' Punctuation +'.' Operator +'call' Name +'(' Punctuation +'p2' Name +')' Punctuation +'\n ' Text +'end' Keyword +'\n' Text + +'end' Keyword +'\n' Text + +'p' Name.Builtin +' ' Text +'[' Operator +'1' Literal.Number.Integer +',' Punctuation +'2' Literal.Number.Integer +',' Punctuation +'3' Literal.Number.Integer +']' Operator +'.' Operator +'`' Name.Operator +'(' Punctuation +"'" Literal.String.Single +'concat' Literal.String.Single +"'" Literal.String.Single +',' Punctuation +' ' Text +'[' Operator +'4' Literal.Number.Integer +',' Punctuation +'5' Literal.Number.Integer +',' Punctuation +'6' Literal.Number.Integer +']' Operator +')' Punctuation +' ' Text +'# => [1, 2, 3, 4, 5, 6]' Comment.Single +'\n' Text + +'p' Name.Builtin +' ' Text +'[' Operator +'1' Literal.Number.Integer +',' Punctuation +'2' Literal.Number.Integer +',' Punctuation +'3' Literal.Number.Integer +']' Operator +'.' Operator +'`' Name.Operator +'(' Punctuation +':concat' Literal.String.Symbol +',' Punctuation +' ' Text +'[' Operator +'4' Literal.Number.Integer +',' Punctuation +'5' Literal.Number.Integer +',' Punctuation +'6' Literal.Number.Integer +']' Operator +')' Punctuation +' ' Text +'# => [1, 2, 3, 4, 5, 6]' Comment.Single +'\n' Text + +'p' Name.Builtin +' ' Text +'"' Literal.String.Double +'Hurra! ' Literal.String.Double +'"' Literal.String.Double +'.' Operator +'`' Name.Operator +'(' Punctuation +':*' Literal.String.Symbol +',' Punctuation +' ' Text +'3' Literal.Number.Integer +')' Punctuation +' ' Text +'# => "Hurra! Hurra! Hurra! "' Comment.Single +'\n' Text + +'p' Name.Builtin +' ' Text +'"' Literal.String.Double +'Hurra! ' Literal.String.Double +'"' Literal.String.Double +'.' Operator +'`' Name.Operator +'(' Punctuation +"'" Literal.String.Single +'*' Literal.String.Single +"'" Literal.String.Single +',' Punctuation +' ' Text +'3' Literal.Number.Integer +')' Punctuation +' ' Text +'# => "Hurra! Hurra! Hurra! "' Comment.Single +'\n' Text + +'# Leider geht nicht die Wunschform' Comment.Single +'\n' Text + +'# [1,2,3] `concat` [4,5,6]' Comment.Single +'\n\n' Text + +'class' Keyword +' ' Text +'Object' Name.Class +'\n ' Text +'@@infixops' Name.Variable.Class +' ' Text +'=' Operator +' ' Text +'[' Operator +']' Operator +'\n ' Text +'alias' Keyword +' ' Text +':xeq' Literal.String.Symbol +' ' Text +':`' Literal.String.Symbol +'\n ' Text +'def' Keyword +' ' Text +'addinfix' Name.Function +'(' Punctuation +'operator' Name +')' Punctuation +'\n ' Text +'@@infixops' Name.Variable.Class +' ' Text +'<<' Operator +' ' Text +'operator' Name +'\n ' Text +'end' Keyword +'\n ' Text +'def' Keyword +' ' Text +'`' Name.Function +'(' Punctuation +'expression' Name +')' Punctuation +'\n ' Text +'@@infixops' Name.Variable.Class +'.' Operator +'each' Name +'{' Punctuation +'|' Operator +'op' Name +'|' Operator +'break' Keyword +' ' Text +'if' Keyword +' ' Text +'expression' Name +'.' Operator +'match' Name +'(' Punctuation +'/' Literal.String.Regex +'^(.*?) (' Literal.String.Regex +'#{' Literal.String.Interpol +'op' Name +'}' Literal.String.Interpol +') (.*)$' Literal.String.Regex +'/' Literal.String.Regex +')' Punctuation +'}' Punctuation +'\n ' Text +'raise' Keyword +' ' Text +'"' Literal.String.Double +'unknown infix operator in expression: ' Literal.String.Double +'#{' Literal.String.Interpol +'expression' Name +'}' Literal.String.Interpol +'"' Literal.String.Double +' ' Text +'if' Keyword +' ' Text +'$2' Name.Variable.Global +' ' Text +'==' Operator +' ' Text +'nil' Keyword.Pseudo +'\n ' Text +'eval' Name.Builtin +'(' Punctuation +'$1' Name.Variable.Global +')' Punctuation +'.' Operator +'method' Name +'(' Punctuation +'$2' Name.Variable.Global +'.' Operator +'to_sym' Name +')' Punctuation +'.' Operator +'call' Name +'(' Punctuation +'eval' Name.Builtin +'(' Punctuation +'$3' Name.Variable.Global +')' Punctuation +')' Punctuation +'\n ' Text +'end' Keyword +'\n' Text + +'end' Keyword +'\n' Text + +'addinfix' Name +'(' Punctuation +'"' Literal.String.Double +'concat' Literal.String.Double +'"' Literal.String.Double +')' Punctuation +'\n' Text + +'p' Name.Builtin +' ' Text +'`' Literal.String.Backtick +'[1,2,3] concat [4,5,6]' Literal.String.Backtick +'`' Literal.String.Backtick +' ' Text +'# => [1, 2, 3, 4, 5, 6]' Comment.Single +'\n\n\n' Text + +'# HEREDOC FUN!!!!!!!1111' Comment.Single +'\n' Text + +'foo' Name +'(' Punctuation +'<<' Operator +'' Literal.String.Heredoc +'A' Literal.String.Delimiter +'' Literal.String.Heredoc +',' Punctuation +' ' Text +'<<-' Operator +'' Literal.String.Heredoc +'B' Literal.String.Delimiter +'' Literal.String.Heredoc +',' Punctuation +' ' Text +'<<' Operator +'' Literal.String.Heredoc +'C' Literal.String.Delimiter +'' Literal.String.Heredoc +')' Punctuation +'\n' Text + +'this is the text of a\n' Literal.String.Heredoc + +' A!!!!\n' Literal.String.Heredoc + +'A\n' Literal.String.Delimiter + +'and this is text of B!!!!!!111\n' Literal.String.Heredoc + +' B\n' Literal.String.Delimiter + +'and here some C\n' Literal.String.Heredoc + +'C\n' Literal.String.Delimiter |
