Class: Orenono::Core

Inherits:
Object
  • Object
show all
Defined in:
lib/orenono_core.rb

Overview

Orenono Core

Constant Summary collapse

ORENONO_FILE =
'Orenonofile'
ORENONO_TEMPLATE =
<<-EOS
# encoding: utf-8

# increment command
# increment's default value => "+"
increment "+"

# decrement command
# decrement's default value => "-"
decrement "-"

# start_loop command
# start_loop's default value => "["
start_loop "["

# end_loop command
# end_loop's default value => "]"
end_loop "]"

# next_cursol command
# next_cursol's default value => ">"
next_cursol ">"

# previous_cursol command
# previous_cursol's default value => "<"
previous_cursol "<"

# display command
# display's default value => "."
display "."

# read command
# read's default value => ","
read ","
EOS

Instance Method Summary collapse

Instance Method Details

#bf_to_your_syntax(file) ⇒ Object

Convert Brainf*ck default syntax to your Orenonofile syntax



60
61
62
63
64
65
# File 'lib/orenono_core.rb', line 60

def bf_to_your_syntax(file)
  dsl = read_dsl
  code = read_code(file)
  config = dsl.orenono
  convert(code, config.default_syntaxes, config.syntaxes)
end

#execute(file) ⇒ Object

Execute brain f**k



52
53
54
55
56
57
# File 'lib/orenono_core.rb', line 52

def execute(file)
  dsl = read_dsl
  code = read_code(file)
  ob = Orenono::Brain.new(dsl.orenono, code)
  ob.run
end

#generate_code_from_ascii_text(ascii_text) ⇒ Object

Generate Brainf*ck code from ascii code text. If you create original syntax in Orenonofile, output syntax is your syntax.



69
70
71
72
# File 'lib/orenono_core.rb', line 69

def generate_code_from_ascii_text(ascii_text)
  config = read_dsl.orenono
  Generator.generate(ascii_text, config)
end

#initObject

Generate Orenonofile to current directory.



47
48
49
# File 'lib/orenono_core.rb', line 47

def init
  File.open(ORENONO_FILE, 'w') { |f|f.puts ORENONO_TEMPLATE }
end