Class | Kwartz::PerlTranslator |
In: |
kwartz/binding/perl.rb
|
Parent: | BaseTranslator |
translator for Perl
# File kwartz/binding/perl.rb, line 195 def initialize(properties={}) escapefunc = properties[:escapefunc] || 'encode_entities' marks = ['', '', 'push(@_buf, ', '); ', "push(@_buf, #{escapefunc}(", ')); '] super(marks, properties) @header = 'my @_buf = (); ' unless @header == false @footer = "join('', @_buf);" + @nl unless @footer == false end
# File kwartz/binding/perl.rb, line 219 def translate(stmt_list) stmt_list2 = optimize_print_stmts(stmt_list) return super(stmt_list2) end
# File kwartz/binding/perl.rb, line 204 def translate_string(str) return if str.nil? || str.empty? #str.gsub!(/['\\]/, '\\\\\&') #@sb << "_buf << '#{str}'; " str.gsub!(/[`\\]/, '\\\\\&') @sb << "push(@_buf, q`#{str}`); " #if str[-1] == ?\n # str.chomp! # @sb << "push(@_buf, q`#{str}`, #{@nl.inspect});" << @nl #else # @sb << "push(@_buf, q`#{str}`); " #end end