class PreProcessor

Public Class Methods

execute(str) click to toggle source
# File lib/rubimc/preprocessor.rb, line 300
def self.execute(str)
        @@program = str
        
        # Последовательность очень важна - не нарушать!
        @@program = RubimRipper.replace_assing_operators(@@program)
        @@program = RubimRipper.replace_all_numeric(@@program)
        @@program = RubimRipper.replace_then_else_elsif_kw(@@program)

        @@program = RubimRipper.replace_modify_express(@@program, "if")
        @@program = RubimRipper.replace_modify_express(@@program, "unless")
        @@program = RubimRipper.replace_modify_express(@@program, "while")
        @@program = RubimRipper.replace_modify_express(@@program, "until")

        @@program = RubimRipper.replace_flat_express(@@program, "if")
        @@program = RubimRipper.replace_flat_express(@@program, "unless")
        @@program = RubimRipper.replace_flat_express(@@program, "while")
        @@program = RubimRipper.replace_flat_express(@@program, "until")

        @@program = RubimRipper.replace_loop(@@program)
        @@program = RubimRipper.replace_rubim_tmpif(@@program)

        @@program = RubimRipper.add_binding_to_init(@@program)
        @@program = RubimRipper.replace_instructions(@@program) # next/break
        @@program = RubimRipper.replace_boolean_kw(@@program) # true/false
end
program() click to toggle source
# File lib/rubimc/preprocessor.rb, line 297
def self.program; @@program; end
program=(str) click to toggle source
# File lib/rubimc/preprocessor.rb, line 298
def self.program=(str); @@program = str; end
write_in_file(input_file, dirname, basename, outfile) click to toggle source

write preprocessing program in file

# File lib/rubimc/preprocessor.rb, line 328
def self.write_in_file(input_file, dirname, basename, outfile)
        PreProcessor.execute( File.read(input_file) )
        File.write("#{outfile}", PreProcessor.program)
end