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 =
"# encoding: utf-8\n\n# increment command\n# increment's default value => \"+\"\nincrement \"+\"\n\n# decrement command\n# decrement's default value => \"-\"\ndecrement \"-\"\n\n# start_loop command\n# start_loop's default value => \"[\"\nstart_loop \"[\"\n\n# end_loop command\n# end_loop's default value => \"]\"\nend_loop \"]\"\n\n# next_cursol command\n# next_cursol's default value => \">\"\nnext_cursol \">\"\n\n# previous_cursol command\n# previous_cursol's default value => \"<\"\nprevious_cursol \"<\"\n\n# display command\n# display's default value => \".\"\ndisplay \".\"\n\n# read command\n# read's default value => \",\"\nread \",\"\n"

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