--- a/generate_IEC_std.py Fri Jul 13 19:21:17 2007 +0200
+++ b/generate_IEC_std.py Tue Jul 17 12:25:19 2007 +0200
@@ -32,7 +32,8 @@
"ANY_REAL" : "if(search_expression_type->is_real_type(%(paramname)s_type_symbol))",
"ANY_INT" : "if(search_expression_type->is_integer_type(%(paramname)s_type_symbol))"
}.get(typename,
- "if (typeid(*last_type_symbol) == typeid(%(typename)s_type_name_c))")%{
+ #"if (typeid(*last_type_symbol) == typeid(%(typename)s_type_name_c))")%{
+ "if(search_expression_type->is_same_type(&search_constant_type_c::%(typename)s_type_name, last_type_symbol))")%{
"paramname" : paramname, "typename": typename.lower()}
def recurse_and_indent(fdecls, indent, do_type_search_only = False, do_il = False):
@@ -116,13 +117,14 @@
code_gen_dic_decl["end_bool_filter"] = '");\nif (search_expression_type->is_bool_type(last_type_symbol)) {\n s4o.print("&1");\n s4o.print(")");\n}\ns4o.print("'
if type(code_gen) == type(tuple()):
- res += 's4o.print("%s");\n'%(code_gen[0]%code_gen_dic_decl)
+ res += 's4o.indent_right();\n'
+ res += 's4o.print("%s\\n" + s4o.indent_spaces);\n'%(code_gen[0]%code_gen_dic_decl)
static_param_accept_list = []
for paramname,paramtype,unused in fdecl["inputs"]:
static_param_accept_list.append("%s_param_value->accept(*this);\n"%(paramname))
- res += ('s4o.print("%s");\n'%(code_gen[1])).join(static_param_accept_list)
- code = 's4o.print("%s");\nparam_value->accept(*this);\n'%(code_gen[1])
- end_code = 's4o.print("%s");\nreturn NULL;\n'%(code_gen[2]%code_gen_dic_decl)
+ res += ('s4o.print("%s\\n" + s4o.indent_spaces);\n'%(code_gen[1])).join(static_param_accept_list)
+ code = 's4o.print("%s\\n" + s4o.indent_spaces);\nparam_value->accept(*this);\n'%(code_gen[1])
+ end_code = 's4o.print("%s");\ns4o.indent_left();\nreturn NULL;\n'%(code_gen[2]%code_gen_dic_decl)
else:
code = ''
end_code = ('s4o.print("' + code_gen%code_gen_dic_decl + '");\nreturn NULL;\n').replace('s4o.print("");\n','')