diff options
| author | realtradam <[email protected]> | 2022-03-05 08:55:18 -0500 |
|---|---|---|
| committer | realtradam <[email protected]> | 2022-03-05 08:55:18 -0500 |
| commit | 130abe0f012b955e89c10f2771ecb58ec0d8d1e9 (patch) | |
| tree | 4f1c06dad631b3239989889a14da9053c46e6c8e /generate.rb | |
| parent | 13879296c42c07285bc08720ef57c959ef2fdecc (diff) | |
| download | FelBind-130abe0f012b955e89c10f2771ecb58ec0d8d1e9.tar.gz FelBind-130abe0f012b955e89c10f2771ecb58ec0d8d1e9.zip | |
added phase 2 floats, doubles, and bools
Diffstat (limited to 'generate.rb')
| -rw-r--r-- | generate.rb | 30 |
1 files changed, 23 insertions, 7 deletions
diff --git a/generate.rb b/generate.rb index fbe02b0..9eda393 100644 --- a/generate.rb +++ b/generate.rb @@ -95,20 +95,35 @@ glue.first.each do |func, params| func_name = rpart.last if func_datatype == 'void' && params[0] == 'void' - body = "#{func.split(' ').last}();\nreturn mrb_nil_value();" - defines += Template.function(func.split(' ').last, body) - init_body += Template.init_module_function('test', func.split(' ').last.underscore, func.split(' ').last, "MRB_ARGS_NONE()") + body = "#{func_name}();\nreturn mrb_nil_value();" + defines += Template.function(func_name, body) + init_body += Template.init_module_function('test', func_name.underscore, func_name, "MRB_ARGS_NONE()") bound[func] = params debug_mark_binding(func, params) elsif (standard_types.include? func_datatype) && (params[0] == 'void') if func_datatype == 'int' - body = "return mrb_fixnum_value(#{func.split(' ').last}());" - defines += Template.function(func.split(' ').last, body) - init_body += Template.init_module_function('test', func.split(' ').last.underscore, func.split(' ').last, "MRB_ARGS_NONE()") + body = "return mrb_fixnum_value(#{func_name}());" + defines += Template.function(func_name, body) + init_body += Template.init_module_function('test', func_name.underscore, func_name, "MRB_ARGS_NONE()") bound[func] = params debug_mark_binding(func, params) + elsif func_datatype == 'float' || func_datatype == 'double' + body = "return mrb_float_value(mrb, #{func_name}());" + defines += Template.function(func_name, body) + init_body += Template.init_module_function('test', func_name.underscore, func_name, "MRB_ARGS_NONE()") + + bound[func] = params + debug_mark_binding(func, params) + elsif func_datatype == 'bool' + body = "return mrb_bool_value(#{func_name}());" + defines += Template.function(func_name, body) + init_body += Template.init_module_function('test', func_name.underscore, func_name, "MRB_ARGS_NONE()") + + bound[func] = params + debug_mark_binding(func, params) + end end end @@ -116,7 +131,7 @@ end init_body.prepend(Template.define_module('Test')) result = %{ - #{includes} +#{includes} #{defines} #{Template.base('test', init_body, nil)} } @@ -131,3 +146,4 @@ result += "//Phase 5 Functions: #{$complete_phase5.length} / #{$phase5.length}\n puts result + |
