Class Kwartz::PerlTranslator
In: kwartz/binding/perl.rb
Parent: BaseTranslator

translator for Perl

Methods

Included Modules

PerlExpressionParser

Public Class methods

[Source]

# 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

Public Instance methods

[Source]

# File kwartz/binding/perl.rb, line 219
    def translate(stmt_list)
      stmt_list2 = optimize_print_stmts(stmt_list)
      return super(stmt_list2)
    end

[Source]

# 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

[Validate]