From c6a2e0b2fc35d0e80f6454e2a338338194ab904f Mon Sep 17 00:00:00 2001 From: ghb Date: Mon, 5 Mar 2012 11:50:55 +0000 Subject: [PATCH] * Added code of current version. --- LICENSE | 21 + Makefile | 72 + source/Makefile | 83 + source/config/Makefile | 44 + source/config/config.cpp | 438 +++ source/config/config.h | 363 +++ source/docs/api/html/annotated.html | 134 + source/docs/api/html/bc_s.png | Bin 0 -> 677 bytes source/docs/api/html/castexception_8h.html | 111 + .../api/html/castexception_8h_source.html | 134 + source/docs/api/html/cdatatype_8h.html | 110 + source/docs/api/html/cdatatype_8h_source.html | 205 ++ source/docs/api/html/cfunction_8h.html | 115 + source/docs/api/html/cfunction_8h_source.html | 189 ++ source/docs/api/html/classes.html | 105 + .../html/classf2cc_1_1CDataType-members.html | 135 + .../docs/api/html/classf2cc_1_1CDataType.html | 821 ++++++ .../html/classf2cc_1_1CFunction-members.html | 121 + .../docs/api/html/classf2cc_1_1CFunction.html | 751 +++++ .../html/classf2cc_1_1CVariable-members.html | 108 + .../docs/api/html/classf2cc_1_1CVariable.html | 418 +++ .../classf2cc_1_1CastException-members.html | 109 + .../api/html/classf2cc_1_1CastException.html | 242 ++ .../api/html/classf2cc_1_1CastException.png | Bin 0 -> 727 bytes .../api/html/classf2cc_1_1Config-members.html | 136 + source/docs/api/html/classf2cc_1_1Config.html | 963 +++++++ .../html/classf2cc_1_1Exception-members.html | 105 + .../docs/api/html/classf2cc_1_1Exception.html | 387 +++ .../docs/api/html/classf2cc_1_1Exception.png | Bin 0 -> 5080 bytes ...f2cc_1_1FileNotFoundException-members.html | 113 + .../classf2cc_1_1FileNotFoundException.html | 207 ++ .../classf2cc_1_1FileNotFoundException.png | Bin 0 -> 1009 bytes ..._1_1Forsyde_1_1CoalescedMapSY-members.html | 134 + ...lassf2cc_1_1Forsyde_1_1CoalescedMapSY.html | 509 ++++ ...classf2cc_1_1Forsyde_1_1CoalescedMapSY.png | Bin 0 -> 1248 bytes ...lassf2cc_1_1Forsyde_1_1CopySY-members.html | 122 + .../html/classf2cc_1_1Forsyde_1_1CopySY.html | 244 ++ .../html/classf2cc_1_1Forsyde_1_1CopySY.png | Bin 0 -> 584 bytes ...assf2cc_1_1Forsyde_1_1DelaySY-members.html | 124 + .../html/classf2cc_1_1Forsyde_1_1DelaySY.html | 320 +++ .../html/classf2cc_1_1Forsyde_1_1DelaySY.png | Bin 0 -> 591 bytes .../classf2cc_1_1Forsyde_1_1Id-members.html | 103 + .../api/html/classf2cc_1_1Forsyde_1_1Id.html | 314 +++ ...lassf2cc_1_1Forsyde_1_1InPort-members.html | 122 + .../html/classf2cc_1_1Forsyde_1_1InPort.html | 242 ++ .../html/classf2cc_1_1Forsyde_1_1InPort.png | Bin 0 -> 557 bytes ...classf2cc_1_1Forsyde_1_1MapSY-members.html | 125 + .../html/classf2cc_1_1Forsyde_1_1MapSY.html | 363 +++ .../html/classf2cc_1_1Forsyde_1_1MapSY.png | Bin 0 -> 1251 bytes ...classf2cc_1_1Forsyde_1_1Model-members.html | 122 + .../html/classf2cc_1_1Forsyde_1_1Model.html | 785 ++++++ ...c_1_1Forsyde_1_1ModelModifier-members.html | 127 + ...classf2cc_1_1Forsyde_1_1ModelModifier.html | 1173 ++++++++ ...assf2cc_1_1Forsyde_1_1OutPort-members.html | 122 + .../html/classf2cc_1_1Forsyde_1_1OutPort.html | 242 ++ .../html/classf2cc_1_1Forsyde_1_1OutPort.png | Bin 0 -> 574 bytes ...c_1_1Forsyde_1_1ParallelMapSY-members.html | 137 + ...classf2cc_1_1Forsyde_1_1ParallelMapSY.html | 329 +++ .../classf2cc_1_1Forsyde_1_1ParallelMapSY.png | Bin 0 -> 1249 bytes ...assf2cc_1_1Forsyde_1_1Process-members.html | 123 + .../html/classf2cc_1_1Forsyde_1_1Process.html | 827 ++++++ .../html/classf2cc_1_1Forsyde_1_1Process.png | Bin 0 -> 2726 bytes ...1_1Forsyde_1_1Process_1_1Port-members.html | 114 + ...assf2cc_1_1Forsyde_1_1Process_1_1Port.html | 530 ++++ ...ssf2cc_1_1Forsyde_1_1UnzipxSY-members.html | 122 + .../classf2cc_1_1Forsyde_1_1UnzipxSY.html | 242 ++ .../html/classf2cc_1_1Forsyde_1_1UnzipxSY.png | Bin 0 -> 603 bytes ...f2cc_1_1Forsyde_1_1ZipWithNSY-members.html | 125 + .../classf2cc_1_1Forsyde_1_1ZipWithNSY.html | 362 +++ .../classf2cc_1_1Forsyde_1_1ZipWithNSY.png | Bin 0 -> 627 bytes ...lassf2cc_1_1Forsyde_1_1ZipxSY-members.html | 122 + .../html/classf2cc_1_1Forsyde_1_1ZipxSY.html | 242 ++ .../html/classf2cc_1_1Forsyde_1_1ZipxSY.png | Bin 0 -> 588 bytes .../html/classf2cc_1_1Frontend-members.html | 103 + .../docs/api/html/classf2cc_1_1Frontend.html | 429 +++ .../docs/api/html/classf2cc_1_1Frontend.png | Bin 0 -> 496 bytes .../classf2cc_1_1GraphmlParser-members.html | 129 + .../api/html/classf2cc_1_1GraphmlParser.html | 1215 ++++++++ .../api/html/classf2cc_1_1GraphmlParser.png | Bin 0 -> 489 bytes .../classf2cc_1_1IOException-members.html | 111 + .../api/html/classf2cc_1_1IOException.html | 318 +++ .../api/html/classf2cc_1_1IOException.png | Bin 0 -> 1013 bytes ...sf2cc_1_1IllegalCallException-members.html | 108 + .../classf2cc_1_1IllegalCallException.html | 206 ++ .../classf2cc_1_1IllegalCallException.png | Bin 0 -> 779 bytes ...f2cc_1_1IllegalStateException-members.html | 108 + .../classf2cc_1_1IllegalStateException.html | 206 ++ .../classf2cc_1_1IllegalStateException.png | Bin 0 -> 793 bytes ..._1_1IndexOutOfBoundsException-members.html | 109 + ...lassf2cc_1_1IndexOutOfBoundsException.html | 242 ++ ...classf2cc_1_1IndexOutOfBoundsException.png | Bin 0 -> 845 bytes ...c_1_1InvalidArgumentException-members.html | 108 + ...classf2cc_1_1InvalidArgumentException.html | 206 ++ .../classf2cc_1_1InvalidArgumentException.png | Bin 0 -> 841 bytes ...2cc_1_1InvalidFormatException-members.html | 105 + .../classf2cc_1_1InvalidFormatException.html | 205 ++ .../classf2cc_1_1InvalidFormatException.png | Bin 0 -> 569 bytes ...f2cc_1_1InvalidModelException-members.html | 105 + .../classf2cc_1_1InvalidModelException.html | 205 ++ .../classf2cc_1_1InvalidModelException.png | Bin 0 -> 561 bytes ...cc_1_1InvalidProcessException-members.html | 105 + .../classf2cc_1_1InvalidProcessException.html | 205 ++ .../classf2cc_1_1InvalidProcessException.png | Bin 0 -> 574 bytes .../api/html/classf2cc_1_1Logger-members.html | 119 + source/docs/api/html/classf2cc_1_1Logger.html | 627 +++++ ...f2cc_1_1NotSupportedException-members.html | 109 + .../classf2cc_1_1NotSupportedException.html | 242 ++ .../classf2cc_1_1NotSupportedException.png | Bin 0 -> 821 bytes ...sf2cc_1_1OutOfMemoryException-members.html | 109 + .../classf2cc_1_1OutOfMemoryException.html | 242 ++ .../classf2cc_1_1OutOfMemoryException.png | Bin 0 -> 823 bytes .../classf2cc_1_1ParseException-members.html | 113 + .../api/html/classf2cc_1_1ParseException.html | 460 +++ .../api/html/classf2cc_1_1ParseException.png | Bin 0 -> 509 bytes ...classf2cc_1_1RuntimeException-members.html | 106 + .../html/classf2cc_1_1RuntimeException.html | 253 ++ .../html/classf2cc_1_1RuntimeException.png | Bin 0 -> 3195 bytes .../classf2cc_1_1ScheduleFinder-members.html | 104 + .../api/html/classf2cc_1_1ScheduleFinder.html | 379 +++ .../classf2cc_1_1Synthesizer-members.html | 171 ++ .../api/html/classf2cc_1_1Synthesizer.html | 2362 ++++++++++++++++ ...f2cc_1_1Synthesizer_1_1Signal-members.html | 112 + .../classf2cc_1_1Synthesizer_1_1Signal.html | 487 ++++ ...nthesizer_1_1SignalComparator-members.html | 96 + ...cc_1_1Synthesizer_1_1SignalComparator.html | 146 + ..._1_1UnknownArraySizeException-members.html | 105 + ...lassf2cc_1_1UnknownArraySizeException.html | 205 ++ ...classf2cc_1_1UnknownArraySizeException.png | Bin 0 -> 626 bytes source/docs/api/html/closed.png | Bin 0 -> 126 bytes source/docs/api/html/coalescedmapsy_8h.html | 120 + .../api/html/coalescedmapsy_8h_source.html | 165 ++ source/docs/api/html/config_8h.html | 113 + source/docs/api/html/config_8h_source.html | 214 ++ source/docs/api/html/copysy_8h.html | 117 + source/docs/api/html/copysy_8h_source.html | 138 + source/docs/api/html/cvariable_8h.html | 112 + source/docs/api/html/cvariable_8h_source.html | 157 ++ source/docs/api/html/delaysy_8h.html | 117 + source/docs/api/html/delaysy_8h_source.html | 146 + source/docs/api/html/doxygen.css | 800 ++++++ source/docs/api/html/doxygen.png | Bin 0 -> 3942 bytes source/docs/api/html/exception_8h.html | 161 ++ source/docs/api/html/exception_8h_source.html | 154 ++ .../api/html/filenotfoundexception_8h.html | 111 + .../html/filenotfoundexception_8h_source.html | 132 + source/docs/api/html/files.html | 127 + source/docs/api/html/frontend_8h.html | 116 + source/docs/api/html/frontend_8h_source.html | 161 ++ source/docs/api/html/functions.html | 154 ++ source/docs/api/html/functions_0x62.html | 127 + source/docs/api/html/functions_0x63.html | 230 ++ source/docs/api/html/functions_0x64.html | 205 ++ source/docs/api/html/functions_0x65.html | 148 + source/docs/api/html/functions_0x66.html | 190 ++ source/docs/api/html/functions_0x67.html | 458 +++ source/docs/api/html/functions_0x68.html | 142 + source/docs/api/html/functions_0x69.html | 246 ++ source/docs/api/html/functions_0x6b.html | 136 + source/docs/api/html/functions_0x6c.html | 157 ++ source/docs/api/html/functions_0x6d.html | 160 ++ source/docs/api/html/functions_0x6e.html | 134 + source/docs/api/html/functions_0x6f.html | 189 ++ source/docs/api/html/functions_0x70.html | 171 ++ source/docs/api/html/functions_0x72.html | 148 + source/docs/api/html/functions_0x73.html | 227 ++ source/docs/api/html/functions_0x74.html | 183 ++ source/docs/api/html/functions_0x75.html | 154 ++ source/docs/api/html/functions_0x76.html | 130 + source/docs/api/html/functions_0x77.html | 127 + source/docs/api/html/functions_0x7a.html | 130 + source/docs/api/html/functions_0x7e.html | 247 ++ source/docs/api/html/functions_enum.html | 105 + source/docs/api/html/functions_eval.html | 128 + source/docs/api/html/functions_func.html | 145 + source/docs/api/html/functions_func_0x63.html | 209 ++ source/docs/api/html/functions_func_0x64.html | 181 ++ source/docs/api/html/functions_func_0x65.html | 139 + source/docs/api/html/functions_func_0x66.html | 171 ++ source/docs/api/html/functions_func_0x67.html | 452 +++ source/docs/api/html/functions_func_0x68.html | 130 + source/docs/api/html/functions_func_0x69.html | 199 ++ source/docs/api/html/functions_func_0x6c.html | 130 + source/docs/api/html/functions_func_0x6d.html | 149 + source/docs/api/html/functions_func_0x6e.html | 124 + source/docs/api/html/functions_func_0x6f.html | 171 ++ source/docs/api/html/functions_func_0x70.html | 162 ++ source/docs/api/html/functions_func_0x72.html | 142 + source/docs/api/html/functions_func_0x73.html | 200 ++ source/docs/api/html/functions_func_0x74.html | 163 ++ source/docs/api/html/functions_func_0x75.html | 136 + source/docs/api/html/functions_func_0x76.html | 127 + source/docs/api/html/functions_func_0x7a.html | 127 + source/docs/api/html/functions_func_0x7e.html | 244 ++ source/docs/api/html/functions_rela.html | 98 + source/docs/api/html/functions_vars.html | 404 +++ source/docs/api/html/globals.html | 92 + source/docs/api/html/globals_defs.html | 92 + source/docs/api/html/graphmlparser_8h.html | 124 + .../api/html/graphmlparser_8h_source.html | 251 ++ source/docs/api/html/hierarchy.html | 148 + source/docs/api/html/id_8h.html | 120 + source/docs/api/html/id_8h_source.html | 145 + .../api/html/illegalcallexception_8h.html | 111 + .../html/illegalcallexception_8h_source.html | 132 + .../api/html/illegalstateexception_8h.html | 111 + .../html/illegalstateexception_8h_source.html | 132 + source/docs/api/html/index.html | 91 + .../html/indexoutofboundsexception_8h.html | 111 + .../indexoutofboundsexception_8h_source.html | 135 + source/docs/api/html/inport_8h.html | 117 + source/docs/api/html/inport_8h_source.html | 139 + source/docs/api/html/installdox | 112 + .../api/html/invalidargumentexception_8h.html | 111 + .../invalidargumentexception_8h_source.html | 132 + .../api/html/invalidformatexception_8h.html | 111 + .../invalidformatexception_8h_source.html | 132 + .../api/html/invalidmodelexception_8h.html | 111 + .../html/invalidmodelexception_8h_source.html | 132 + .../api/html/invalidprocessexception_8h.html | 111 + .../invalidprocessexception_8h_source.html | 132 + source/docs/api/html/ioexception_8h.html | 111 + .../docs/api/html/ioexception_8h_source.html | 142 + source/docs/api/html/license.html | 87 + source/docs/api/html/logger_8h.html | 114 + source/docs/api/html/logger_8h_source.html | 179 ++ source/docs/api/html/mapsy_8h.html | 117 + source/docs/api/html/mapsy_8h_source.html | 148 + source/docs/api/html/model_8h.html | 122 + source/docs/api/html/model_8h_source.html | 197 ++ source/docs/api/html/modelmodifier_8h.html | 130 + .../api/html/modelmodifier_8h_source.html | 253 ++ source/docs/api/html/namespacef2cc.html | 159 ++ .../api/html/namespacef2cc_1_1Forsyde.html | 171 ++ .../docs/api/html/namespacef2cc_1_1tools.html | 631 +++++ source/docs/api/html/namespacemembers.html | 140 + .../docs/api/html/namespacemembers_func.html | 140 + source/docs/api/html/namespaces.html | 90 + source/docs/api/html/nav_f.png | Bin 0 -> 159 bytes source/docs/api/html/nav_h.png | Bin 0 -> 97 bytes .../api/html/notsupportedexception_8h.html | 111 + .../html/notsupportedexception_8h_source.html | 135 + source/docs/api/html/open.png | Bin 0 -> 118 bytes .../api/html/outofmemoryexception_8h.html | 111 + .../html/outofmemoryexception_8h_source.html | 135 + source/docs/api/html/outport_8h.html | 117 + source/docs/api/html/outport_8h_source.html | 138 + source/docs/api/html/pages.html | 85 + source/docs/api/html/parallelmapsy_8h.html | 120 + .../api/html/parallelmapsy_8h_source.html | 148 + source/docs/api/html/parseexception_8h.html | 111 + .../api/html/parseexception_8h_source.html | 155 ++ source/docs/api/html/process_8h.html | 123 + source/docs/api/html/process_8h_source.html | 242 ++ source/docs/api/html/runtimeexception_8h.html | 111 + .../api/html/runtimeexception_8h_source.html | 134 + source/docs/api/html/schedulefinder_8h.html | 124 + .../api/html/schedulefinder_8h_source.html | 179 ++ source/docs/api/html/search/all_61.html | 92 + source/docs/api/html/search/all_62.html | 32 + source/docs/api/html/search/all_63.html | 345 +++ source/docs/api/html/search/all_64.html | 193 ++ source/docs/api/html/search/all_65.html | 88 + source/docs/api/html/search/all_66.html | 200 ++ source/docs/api/html/search/all_67.html | 726 +++++ source/docs/api/html/search/all_68.html | 56 + source/docs/api/html/search/all_69.html | 386 +++ source/docs/api/html/search/all_6b.html | 44 + source/docs/api/html/search/all_6c.html | 100 + source/docs/api/html/search/all_6d.html | 116 + source/docs/api/html/search/all_6e.html | 55 + source/docs/api/html/search/all_6f.html | 160 ++ source/docs/api/html/search/all_70.html | 185 ++ source/docs/api/html/search/all_72.html | 88 + source/docs/api/html/search/all_73.html | 276 ++ source/docs/api/html/search/all_74.html | 139 + source/docs/api/html/search/all_75.html | 102 + source/docs/api/html/search/all_76.html | 32 + source/docs/api/html/search/all_77.html | 32 + source/docs/api/html/search/all_7a.html | 54 + source/docs/api/html/search/all_7e.html | 266 ++ source/docs/api/html/search/classes_63.html | 74 + source/docs/api/html/search/classes_64.html | 26 + source/docs/api/html/search/classes_65.html | 26 + source/docs/api/html/search/classes_66.html | 32 + source/docs/api/html/search/classes_67.html | 26 + source/docs/api/html/search/classes_69.html | 80 + source/docs/api/html/search/classes_6c.html | 26 + source/docs/api/html/search/classes_6d.html | 38 + source/docs/api/html/search/classes_6e.html | 26 + source/docs/api/html/search/classes_6f.html | 32 + source/docs/api/html/search/classes_70.html | 50 + source/docs/api/html/search/classes_72.html | 26 + source/docs/api/html/search/classes_73.html | 44 + source/docs/api/html/search/classes_75.html | 32 + source/docs/api/html/search/classes_7a.html | 32 + source/docs/api/html/search/close.png | Bin 0 -> 273 bytes source/docs/api/html/search/defines_74.html | 26 + source/docs/api/html/search/enums_6c.html | 26 + source/docs/api/html/search/enums_74.html | 35 + .../docs/api/html/search/enumvalues_63.html | 38 + .../docs/api/html/search/enumvalues_64.html | 26 + .../docs/api/html/search/enumvalues_65.html | 26 + .../docs/api/html/search/enumvalues_69.html | 26 + .../docs/api/html/search/enumvalues_6c.html | 26 + .../docs/api/html/search/enumvalues_73.html | 26 + .../docs/api/html/search/enumvalues_75.html | 32 + .../docs/api/html/search/enumvalues_77.html | 26 + source/docs/api/html/search/files_63.html | 55 + source/docs/api/html/search/files_64.html | 25 + source/docs/api/html/search/files_65.html | 25 + source/docs/api/html/search/files_66.html | 30 + source/docs/api/html/search/files_67.html | 25 + source/docs/api/html/search/files_69.html | 70 + source/docs/api/html/search/files_6c.html | 25 + source/docs/api/html/search/files_6d.html | 35 + source/docs/api/html/search/files_6e.html | 25 + source/docs/api/html/search/files_6f.html | 30 + source/docs/api/html/search/files_70.html | 35 + source/docs/api/html/search/files_72.html | 25 + source/docs/api/html/search/files_73.html | 30 + source/docs/api/html/search/files_74.html | 25 + source/docs/api/html/search/files_75.html | 30 + source/docs/api/html/search/files_7a.html | 30 + source/docs/api/html/search/functions_61.html | 80 + source/docs/api/html/search/functions_62.html | 26 + source/docs/api/html/search/functions_63.html | 220 ++ source/docs/api/html/search/functions_64.html | 140 + source/docs/api/html/search/functions_65.html | 65 + source/docs/api/html/search/functions_66.html | 129 + source/docs/api/html/search/functions_67.html | 709 +++++ source/docs/api/html/search/functions_68.html | 38 + source/docs/api/html/search/functions_69.html | 188 ++ source/docs/api/html/search/functions_6c.html | 42 + source/docs/api/html/search/functions_6d.html | 67 + source/docs/api/html/search/functions_6e.html | 29 + source/docs/api/html/search/functions_6f.html | 111 + source/docs/api/html/search/functions_70.html | 128 + source/docs/api/html/search/functions_72.html | 71 + source/docs/api/html/search/functions_73.html | 194 ++ source/docs/api/html/search/functions_74.html | 100 + source/docs/api/html/search/functions_75.html | 50 + source/docs/api/html/search/functions_76.html | 32 + source/docs/api/html/search/functions_77.html | 26 + source/docs/api/html/search/functions_7a.html | 32 + source/docs/api/html/search/functions_7e.html | 266 ++ source/docs/api/html/search/mag_sel.png | Bin 0 -> 563 bytes .../docs/api/html/search/namespaces_66.html | 37 + source/docs/api/html/search/nomatches.html | 12 + source/docs/api/html/search/related_6f.html | 26 + source/docs/api/html/search/search.css | 240 ++ source/docs/api/html/search/search.js | 744 +++++ source/docs/api/html/search/search_l.png | Bin 0 -> 604 bytes source/docs/api/html/search/search_m.png | Bin 0 -> 158 bytes source/docs/api/html/search/search_r.png | Bin 0 -> 612 bytes source/docs/api/html/search/variables_61.html | 32 + source/docs/api/html/search/variables_62.html | 26 + source/docs/api/html/search/variables_63.html | 38 + source/docs/api/html/search/variables_64.html | 56 + source/docs/api/html/search/variables_65.html | 26 + source/docs/api/html/search/variables_66.html | 52 + source/docs/api/html/search/variables_67.html | 26 + source/docs/api/html/search/variables_68.html | 38 + source/docs/api/html/search/variables_69.html | 102 + source/docs/api/html/search/variables_6b.html | 44 + source/docs/api/html/search/variables_6c.html | 55 + source/docs/api/html/search/variables_6d.html | 36 + source/docs/api/html/search/variables_6e.html | 35 + source/docs/api/html/search/variables_6f.html | 44 + source/docs/api/html/search/variables_70.html | 32 + source/docs/api/html/search/variables_72.html | 26 + source/docs/api/html/search/variables_73.html | 62 + source/docs/api/html/search/variables_74.html | 38 + source/docs/api/html/search/variables_75.html | 38 + ...lModifier_1_1ContainedSection-members.html | 100 + ..._1_1ModelModifier_1_1ContainedSection.html | 208 ++ ...duleFinder_1_1PartialSchedule-members.html | 100 + ..._1_1ScheduleFinder_1_1PartialSchedule.html | 218 ++ ...2cc_1_1Synthesizer_1_1CodeSet-members.html | 97 + .../structf2cc_1_1Synthesizer_1_1CodeSet.html | 143 + source/docs/api/html/synthesizer_8h.html | 139 + .../docs/api/html/synthesizer_8h_source.html | 436 +++ source/docs/api/html/tab_a.png | Bin 0 -> 140 bytes source/docs/api/html/tab_b.png | Bin 0 -> 178 bytes source/docs/api/html/tab_h.png | Bin 0 -> 192 bytes source/docs/api/html/tab_s.png | Bin 0 -> 189 bytes source/docs/api/html/tabs.css | 59 + source/docs/api/html/todo.html | 89 + source/docs/api/html/tools_8h.html | 141 + source/docs/api/html/tools_8h_source.html | 186 ++ .../html/unknownarraysizeexception_8h.html | 111 + .../unknownarraysizeexception_8h_source.html | 132 + source/docs/api/html/unzipxsy_8h.html | 117 + source/docs/api/html/unzipxsy_8h_source.html | 138 + source/docs/api/html/zipwithnsy_8h.html | 117 + .../docs/api/html/zipwithnsy_8h_source.html | 148 + source/docs/api/html/zipxsy_8h.html | 117 + source/docs/api/html/zipxsy_8h_source.html | 138 + source/dox | 1716 ++++++++++++ source/dox.log | 0 source/exceptions/Makefile | 50 + source/exceptions/castexception.cpp | 42 + source/exceptions/castexception.h | 72 + source/exceptions/exception.cpp | 69 + source/exceptions/exception.h | 189 ++ source/exceptions/filenotfoundexception.cpp | 40 + source/exceptions/filenotfoundexception.h | 75 + source/exceptions/illegalcallexception.cpp | 39 + source/exceptions/illegalcallexception.h | 68 + source/exceptions/illegalstateexception.cpp | 39 + source/exceptions/illegalstateexception.h | 69 + .../exceptions/indexoutofboundsexception.cpp | 43 + source/exceptions/indexoutofboundsexception.h | 74 + .../exceptions/invalidargumentexception.cpp | 39 + source/exceptions/invalidargumentexception.h | 68 + source/exceptions/invalidformatexception.cpp | 39 + source/exceptions/invalidformatexception.h | 67 + source/exceptions/invalidmodelexception.cpp | 39 + source/exceptions/invalidmodelexception.h | 67 + source/exceptions/invalidprocessexception.cpp | 39 + source/exceptions/invalidprocessexception.h | 67 + source/exceptions/ioexception.cpp | 53 + source/exceptions/ioexception.h | 111 + source/exceptions/notsupportedexception.cpp | 43 + source/exceptions/notsupportedexception.h | 74 + source/exceptions/outofmemoryexception.cpp | 43 + source/exceptions/outofmemoryexception.h | 73 + source/exceptions/parseexception.cpp | 80 + source/exceptions/parseexception.h | 158 ++ source/exceptions/runtimeexception.cpp | 42 + source/exceptions/runtimeexception.h | 77 + .../exceptions/unknownarraysizeexception.cpp | 39 + source/exceptions/unknownarraysizeexception.h | 68 + source/f2cc.cpp | 245 ++ source/forsyde/Makefile | 47 + source/forsyde/coalescedmapsy.cpp | 156 ++ source/forsyde/coalescedmapsy.h | 192 ++ source/forsyde/copysy.cpp | 60 + source/forsyde/copysy.h | 92 + source/forsyde/delaysy.cpp | 81 + source/forsyde/delaysy.h | 120 + source/forsyde/id.cpp | 54 + source/forsyde/id.h | 125 + source/forsyde/inport.cpp | 60 + source/forsyde/inport.h | 83 + source/forsyde/mapsy.cpp | 121 + source/forsyde/mapsy.h | 137 + source/forsyde/model.cpp | 282 ++ source/forsyde/model.h | 337 +++ source/forsyde/modelmodifier.cpp | 1073 +++++++ source/forsyde/modelmodifier.h | 599 ++++ source/forsyde/outport.cpp | 60 + source/forsyde/outport.h | 82 + source/forsyde/parallelmapsy.cpp | 68 + source/forsyde/parallelmapsy.h | 128 + source/forsyde/process.cpp | 362 +++ source/forsyde/process.h | 502 ++++ source/forsyde/unzipxsy.cpp | 60 + source/forsyde/unzipxsy.h | 82 + source/forsyde/zipwithnsy.cpp | 129 + source/forsyde/zipwithnsy.h | 143 + source/forsyde/zipxsy.cpp | 60 + source/forsyde/zipxsy.h | 82 + source/frontend/Makefile | 44 + source/frontend/frontend.cpp | 135 + source/frontend/frontend.h | 227 ++ source/frontend/graphmlparser.cpp | 1099 ++++++++ source/frontend/graphmlparser.h | 637 +++++ source/language/Makefile | 44 + source/language/cdatatype.cpp | 216 ++ source/language/cdatatype.h | 346 +++ source/language/cfunction.cpp | 200 ++ source/language/cfunction.h | 290 ++ source/language/cvariable.cpp | 96 + source/language/cvariable.h | 183 ++ source/logger/Makefile | 44 + source/logger/logger.cpp | 176 ++ source/logger/logger.h | 262 ++ source/namespaces.txt | 18 + source/readme.txt | 56 + source/synthesizer/Makefile | 44 + source/synthesizer/schedulefinder.cpp | 172 ++ source/synthesizer/schedulefinder.h | 247 ++ source/synthesizer/synthesizer.cpp | 2463 +++++++++++++++++ source/synthesizer/synthesizer.h | 1392 ++++++++++ source/ticpp/Makefile | 40 + source/ticpp/TiCPP.make | 148 + source/ticpp/changes.txt | 269 ++ source/ticpp/docs/annotated.html | 68 + source/ticpp/docs/bc_s.png | Bin 0 -> 677 bytes source/ticpp/docs/classTiCppRC-members.html | 44 + source/ticpp/docs/classTiCppRC.html | 93 + .../docs/classTiXmlAttribute-members.html | 68 + source/ticpp/docs/classTiXmlAttribute.html | 180 ++ source/ticpp/docs/classTiXmlAttribute.png | Bin 0 -> 401 bytes source/ticpp/docs/classTiXmlBase-members.html | 50 + source/ticpp/docs/classTiXmlBase.html | 242 ++ source/ticpp/docs/classTiXmlBase.png | Bin 0 -> 1877 bytes .../ticpp/docs/classTiXmlComment-members.html | 116 + source/ticpp/docs/classTiXmlComment.html | 122 + source/ticpp/docs/classTiXmlComment.png | Bin 0 -> 518 bytes .../docs/classTiXmlDeclaration-members.html | 120 + source/ticpp/docs/classTiXmlDeclaration.html | 138 + source/ticpp/docs/classTiXmlDeclaration.png | Bin 0 -> 557 bytes .../docs/classTiXmlDocument-members.html | 135 + source/ticpp/docs/classTiXmlDocument.html | 444 +++ source/ticpp/docs/classTiXmlDocument.png | Bin 0 -> 535 bytes .../ticpp/docs/classTiXmlElement-members.html | 132 + source/ticpp/docs/classTiXmlElement.html | 442 +++ source/ticpp/docs/classTiXmlElement.png | Bin 0 -> 514 bytes .../ticpp/docs/classTiXmlHandle-members.html | 58 + source/ticpp/docs/classTiXmlHandle.html | 408 +++ source/ticpp/docs/classTiXmlNode-members.html | 114 + source/ticpp/docs/classTiXmlNode.html | 747 +++++ source/ticpp/docs/classTiXmlNode.png | Bin 0 -> 1677 bytes .../ticpp/docs/classTiXmlPrinter-members.html | 57 + source/ticpp/docs/classTiXmlPrinter.html | 191 ++ source/ticpp/docs/classTiXmlPrinter.png | Bin 0 -> 380 bytes ...classTiXmlStylesheetReference-members.html | 118 + .../docs/classTiXmlStylesheetReference.html | 135 + .../docs/classTiXmlStylesheetReference.png | Bin 0 -> 666 bytes source/ticpp/docs/classTiXmlText-members.html | 118 + source/ticpp/docs/classTiXmlText.html | 158 ++ source/ticpp/docs/classTiXmlText.png | Bin 0 -> 485 bytes .../ticpp/docs/classTiXmlUnknown-members.html | 114 + source/ticpp/docs/classTiXmlUnknown.html | 118 + source/ticpp/docs/classTiXmlUnknown.png | Bin 0 -> 521 bytes .../ticpp/docs/classTiXmlVisitor-members.html | 49 + source/ticpp/docs/classTiXmlVisitor.html | 100 + source/ticpp/docs/classTiXmlVisitor.png | Bin 0 -> 530 bytes source/ticpp/docs/classes.html | 52 + .../docs/classticpp_1_1Attribute-members.html | 61 + .../ticpp/docs/classticpp_1_1Attribute.html | 304 ++ source/ticpp/docs/classticpp_1_1Attribute.png | Bin 0 -> 402 bytes .../docs/classticpp_1_1Base-members.html | 50 + source/ticpp/docs/classticpp_1_1Base.html | 244 ++ source/ticpp/docs/classticpp_1_1Base.png | Bin 0 -> 3533 bytes .../docs/classticpp_1_1Comment-members.html | 93 + source/ticpp/docs/classticpp_1_1Comment.html | 83 + source/ticpp/docs/classticpp_1_1Comment.png | Bin 0 -> 913 bytes .../classticpp_1_1Declaration-members.html | 96 + .../ticpp/docs/classticpp_1_1Declaration.html | 170 ++ .../ticpp/docs/classticpp_1_1Declaration.png | Bin 0 -> 957 bytes .../docs/classticpp_1_1Document-members.html | 100 + source/ticpp/docs/classticpp_1_1Document.html | 374 +++ source/ticpp/docs/classticpp_1_1Document.png | Bin 0 -> 928 bytes .../docs/classticpp_1_1Element-members.html | 110 + source/ticpp/docs/classticpp_1_1Element.html | 801 ++++++ source/ticpp/docs/classticpp_1_1Element.png | Bin 0 -> 907 bytes .../docs/classticpp_1_1Exception-members.html | 43 + .../ticpp/docs/classticpp_1_1Exception.html | 75 + .../docs/classticpp_1_1Iterator-members.html | 58 + source/ticpp/docs/classticpp_1_1Iterator.html | 240 ++ .../docs/classticpp_1_1Node-members.html | 89 + source/ticpp/docs/classticpp_1_1Node.html | 1331 +++++++++ source/ticpp/docs/classticpp_1_1Node.png | Bin 0 -> 3329 bytes .../docs/classticpp_1_1NodeImp-members.html | 90 + source/ticpp/docs/classticpp_1_1NodeImp.html | 79 + source/ticpp/docs/classticpp_1_1NodeImp.png | Bin 0 -> 587 bytes ...sticpp_1_1StylesheetReference-members.html | 94 + .../classticpp_1_1StylesheetReference.html | 150 + .../classticpp_1_1StylesheetReference.png | Bin 0 -> 1152 bytes .../docs/classticpp_1_1Text-members.html | 94 + source/ticpp/docs/classticpp_1_1Text.html | 165 ++ source/ticpp/docs/classticpp_1_1Text.png | Bin 0 -> 840 bytes .../docs/classticpp_1_1Visitor-members.html | 57 + source/ticpp/docs/classticpp_1_1Visitor.html | 120 + source/ticpp/docs/classticpp_1_1Visitor.png | Bin 0 -> 384 bytes source/ticpp/docs/closed.png | Bin 0 -> 126 bytes source/ticpp/docs/deprecated.html | 52 + source/ticpp/docs/doxygen.css | 656 +++++ source/ticpp/docs/doxygen.png | Bin 0 -> 3942 bytes source/ticpp/docs/files.html | 43 + source/ticpp/docs/functions.html | 91 + source/ticpp/docs/functions_0x62.html | 80 + source/ticpp/docs/functions_0x63.html | 111 + source/ticpp/docs/functions_0x64.html | 86 + source/ticpp/docs/functions_0x65.html | 106 + source/ticpp/docs/functions_0x66.html | 97 + source/ticpp/docs/functions_0x67.html | 104 + source/ticpp/docs/functions_0x68.html | 81 + source/ticpp/docs/functions_0x69.html | 104 + source/ticpp/docs/functions_0x6c.html | 98 + source/ticpp/docs/functions_0x6d.html | 86 + source/ticpp/docs/functions_0x6e.html | 104 + source/ticpp/docs/functions_0x6f.html | 105 + source/ticpp/docs/functions_0x70.html | 104 + source/ticpp/docs/functions_0x71.html | 92 + source/ticpp/docs/functions_0x72.html | 93 + source/ticpp/docs/functions_0x73.html | 139 + source/ticpp/docs/functions_0x74.html | 164 ++ source/ticpp/docs/functions_0x75.html | 80 + source/ticpp/docs/functions_0x76.html | 115 + source/ticpp/docs/functions_0x77.html | 77 + source/ticpp/docs/functions_0x7e.html | 80 + source/ticpp/docs/functions_enum.html | 49 + source/ticpp/docs/functions_func.html | 90 + source/ticpp/docs/functions_func_0x62.html | 79 + source/ticpp/docs/functions_func_0x63.html | 110 + source/ticpp/docs/functions_func_0x64.html | 85 + source/ticpp/docs/functions_func_0x65.html | 105 + source/ticpp/docs/functions_func_0x66.html | 96 + source/ticpp/docs/functions_func_0x67.html | 103 + source/ticpp/docs/functions_func_0x68.html | 80 + source/ticpp/docs/functions_func_0x69.html | 103 + source/ticpp/docs/functions_func_0x6c.html | 97 + source/ticpp/docs/functions_func_0x6e.html | 99 + source/ticpp/docs/functions_func_0x6f.html | 96 + source/ticpp/docs/functions_func_0x70.html | 103 + source/ticpp/docs/functions_func_0x71.html | 91 + source/ticpp/docs/functions_func_0x72.html | 92 + source/ticpp/docs/functions_func_0x73.html | 138 + source/ticpp/docs/functions_func_0x74.html | 163 ++ source/ticpp/docs/functions_func_0x75.html | 76 + source/ticpp/docs/functions_func_0x76.html | 114 + source/ticpp/docs/functions_func_0x77.html | 76 + source/ticpp/docs/functions_func_0x7e.html | 79 + source/ticpp/docs/functions_rela.html | 54 + source/ticpp/docs/functions_vars.html | 61 + source/ticpp/docs/hierarchy.html | 96 + source/ticpp/docs/index.hhc | 130 + source/ticpp/docs/index.hhk | 767 +++++ source/ticpp/docs/index.hhp | 140 + source/ticpp/docs/index.html | 281 ++ source/ticpp/docs/namespaces.html | 40 + source/ticpp/docs/namespaceticpp.html | 72 + source/ticpp/docs/nav_f.png | Bin 0 -> 159 bytes source/ticpp/docs/nav_h.png | Bin 0 -> 97 bytes source/ticpp/docs/open.png | Bin 0 -> 118 bytes source/ticpp/docs/pages.html | 38 + source/ticpp/docs/tab_a.png | Bin 0 -> 140 bytes source/ticpp/docs/tab_b.png | Bin 0 -> 178 bytes source/ticpp/docs/tab_h.png | Bin 0 -> 192 bytes source/ticpp/docs/tab_s.png | Bin 0 -> 189 bytes source/ticpp/docs/tabs.css | 59 + source/ticpp/docs/ticpp.html | 201 ++ source/ticpp/docs/ticppTutorial.html | 40 + source/ticpp/docs/ticpp_8h.html | 95 + source/ticpp/docs/ticpp_8h_source.html | 974 +++++++ source/ticpp/docs/ticpprc_8h_source.html | 119 + source/ticpp/docs/tinystr_8h_source.html | 356 +++ source/ticpp/docs/tinyxml_8h_source.html | 1292 +++++++++ source/ticpp/docs/todo.html | 40 + source/ticpp/docs/tutorial0.html | 726 +++++ source/ticpp/dox | 1229 ++++++++ source/ticpp/readme.txt | 531 ++++ source/ticpp/ticpp.cpp | 1150 ++++++++ source/ticpp/ticpp.h | 1905 +++++++++++++ source/ticpp/ticpp.lua | 118 + source/ticpp/ticpp4.lua | 131 + source/ticpp/ticpprc.h | 122 + source/ticpp/tinystr.cpp | 116 + source/ticpp/tinystr.h | 319 +++ source/ticpp/tinyxml.cpp | 1969 +++++++++++++ source/ticpp/tinyxml.h | 1884 +++++++++++++ source/ticpp/tinyxmlerror.cpp | 53 + source/ticpp/tinyxmlparser.cpp | 1722 ++++++++++++ source/ticpp/tutorial_gettingStarted.txt | 835 ++++++ source/ticpp/tutorial_ticpp.txt | 220 ++ source/tools/Makefile | 43 + source/tools/tools.cpp | 288 ++ source/tools/tools.h | 256 ++ 661 files changed, 111017 insertions(+) create mode 100644 LICENSE create mode 100644 Makefile create mode 100644 source/Makefile create mode 100644 source/config/Makefile create mode 100644 source/config/config.cpp create mode 100644 source/config/config.h create mode 100644 source/docs/api/html/annotated.html create mode 100644 source/docs/api/html/bc_s.png create mode 100644 source/docs/api/html/castexception_8h.html create mode 100644 source/docs/api/html/castexception_8h_source.html create mode 100644 source/docs/api/html/cdatatype_8h.html create mode 100644 source/docs/api/html/cdatatype_8h_source.html create mode 100644 source/docs/api/html/cfunction_8h.html create mode 100644 source/docs/api/html/cfunction_8h_source.html create mode 100644 source/docs/api/html/classes.html create mode 100644 source/docs/api/html/classf2cc_1_1CDataType-members.html create mode 100644 source/docs/api/html/classf2cc_1_1CDataType.html create mode 100644 source/docs/api/html/classf2cc_1_1CFunction-members.html create mode 100644 source/docs/api/html/classf2cc_1_1CFunction.html create mode 100644 source/docs/api/html/classf2cc_1_1CVariable-members.html create mode 100644 source/docs/api/html/classf2cc_1_1CVariable.html create mode 100644 source/docs/api/html/classf2cc_1_1CastException-members.html create mode 100644 source/docs/api/html/classf2cc_1_1CastException.html create mode 100644 source/docs/api/html/classf2cc_1_1CastException.png create mode 100644 source/docs/api/html/classf2cc_1_1Config-members.html create mode 100644 source/docs/api/html/classf2cc_1_1Config.html create mode 100644 source/docs/api/html/classf2cc_1_1Exception-members.html create mode 100644 source/docs/api/html/classf2cc_1_1Exception.html create mode 100644 source/docs/api/html/classf2cc_1_1Exception.png create mode 100644 source/docs/api/html/classf2cc_1_1FileNotFoundException-members.html create mode 100644 source/docs/api/html/classf2cc_1_1FileNotFoundException.html create mode 100644 source/docs/api/html/classf2cc_1_1FileNotFoundException.png create mode 100644 source/docs/api/html/classf2cc_1_1Forsyde_1_1CoalescedMapSY-members.html create mode 100644 source/docs/api/html/classf2cc_1_1Forsyde_1_1CoalescedMapSY.html create mode 100644 source/docs/api/html/classf2cc_1_1Forsyde_1_1CoalescedMapSY.png create mode 100644 source/docs/api/html/classf2cc_1_1Forsyde_1_1CopySY-members.html create mode 100644 source/docs/api/html/classf2cc_1_1Forsyde_1_1CopySY.html create mode 100644 source/docs/api/html/classf2cc_1_1Forsyde_1_1CopySY.png create mode 100644 source/docs/api/html/classf2cc_1_1Forsyde_1_1DelaySY-members.html create mode 100644 source/docs/api/html/classf2cc_1_1Forsyde_1_1DelaySY.html create mode 100644 source/docs/api/html/classf2cc_1_1Forsyde_1_1DelaySY.png create mode 100644 source/docs/api/html/classf2cc_1_1Forsyde_1_1Id-members.html create mode 100644 source/docs/api/html/classf2cc_1_1Forsyde_1_1Id.html create mode 100644 source/docs/api/html/classf2cc_1_1Forsyde_1_1InPort-members.html create mode 100644 source/docs/api/html/classf2cc_1_1Forsyde_1_1InPort.html create mode 100644 source/docs/api/html/classf2cc_1_1Forsyde_1_1InPort.png create mode 100644 source/docs/api/html/classf2cc_1_1Forsyde_1_1MapSY-members.html create mode 100644 source/docs/api/html/classf2cc_1_1Forsyde_1_1MapSY.html create mode 100644 source/docs/api/html/classf2cc_1_1Forsyde_1_1MapSY.png create mode 100644 source/docs/api/html/classf2cc_1_1Forsyde_1_1Model-members.html create mode 100644 source/docs/api/html/classf2cc_1_1Forsyde_1_1Model.html create mode 100644 source/docs/api/html/classf2cc_1_1Forsyde_1_1ModelModifier-members.html create mode 100644 source/docs/api/html/classf2cc_1_1Forsyde_1_1ModelModifier.html create mode 100644 source/docs/api/html/classf2cc_1_1Forsyde_1_1OutPort-members.html create mode 100644 source/docs/api/html/classf2cc_1_1Forsyde_1_1OutPort.html create mode 100644 source/docs/api/html/classf2cc_1_1Forsyde_1_1OutPort.png create mode 100644 source/docs/api/html/classf2cc_1_1Forsyde_1_1ParallelMapSY-members.html create mode 100644 source/docs/api/html/classf2cc_1_1Forsyde_1_1ParallelMapSY.html create mode 100644 source/docs/api/html/classf2cc_1_1Forsyde_1_1ParallelMapSY.png create mode 100644 source/docs/api/html/classf2cc_1_1Forsyde_1_1Process-members.html create mode 100644 source/docs/api/html/classf2cc_1_1Forsyde_1_1Process.html create mode 100644 source/docs/api/html/classf2cc_1_1Forsyde_1_1Process.png create mode 100644 source/docs/api/html/classf2cc_1_1Forsyde_1_1Process_1_1Port-members.html create mode 100644 source/docs/api/html/classf2cc_1_1Forsyde_1_1Process_1_1Port.html create mode 100644 source/docs/api/html/classf2cc_1_1Forsyde_1_1UnzipxSY-members.html create mode 100644 source/docs/api/html/classf2cc_1_1Forsyde_1_1UnzipxSY.html create mode 100644 source/docs/api/html/classf2cc_1_1Forsyde_1_1UnzipxSY.png create mode 100644 source/docs/api/html/classf2cc_1_1Forsyde_1_1ZipWithNSY-members.html create mode 100644 source/docs/api/html/classf2cc_1_1Forsyde_1_1ZipWithNSY.html create mode 100644 source/docs/api/html/classf2cc_1_1Forsyde_1_1ZipWithNSY.png create mode 100644 source/docs/api/html/classf2cc_1_1Forsyde_1_1ZipxSY-members.html create mode 100644 source/docs/api/html/classf2cc_1_1Forsyde_1_1ZipxSY.html create mode 100644 source/docs/api/html/classf2cc_1_1Forsyde_1_1ZipxSY.png create mode 100644 source/docs/api/html/classf2cc_1_1Frontend-members.html create mode 100644 source/docs/api/html/classf2cc_1_1Frontend.html create mode 100644 source/docs/api/html/classf2cc_1_1Frontend.png create mode 100644 source/docs/api/html/classf2cc_1_1GraphmlParser-members.html create mode 100644 source/docs/api/html/classf2cc_1_1GraphmlParser.html create mode 100644 source/docs/api/html/classf2cc_1_1GraphmlParser.png create mode 100644 source/docs/api/html/classf2cc_1_1IOException-members.html create mode 100644 source/docs/api/html/classf2cc_1_1IOException.html create mode 100644 source/docs/api/html/classf2cc_1_1IOException.png create mode 100644 source/docs/api/html/classf2cc_1_1IllegalCallException-members.html create mode 100644 source/docs/api/html/classf2cc_1_1IllegalCallException.html create mode 100644 source/docs/api/html/classf2cc_1_1IllegalCallException.png create mode 100644 source/docs/api/html/classf2cc_1_1IllegalStateException-members.html create mode 100644 source/docs/api/html/classf2cc_1_1IllegalStateException.html create mode 100644 source/docs/api/html/classf2cc_1_1IllegalStateException.png create mode 100644 source/docs/api/html/classf2cc_1_1IndexOutOfBoundsException-members.html create mode 100644 source/docs/api/html/classf2cc_1_1IndexOutOfBoundsException.html create mode 100644 source/docs/api/html/classf2cc_1_1IndexOutOfBoundsException.png create mode 100644 source/docs/api/html/classf2cc_1_1InvalidArgumentException-members.html create mode 100644 source/docs/api/html/classf2cc_1_1InvalidArgumentException.html create mode 100644 source/docs/api/html/classf2cc_1_1InvalidArgumentException.png create mode 100644 source/docs/api/html/classf2cc_1_1InvalidFormatException-members.html create mode 100644 source/docs/api/html/classf2cc_1_1InvalidFormatException.html create mode 100644 source/docs/api/html/classf2cc_1_1InvalidFormatException.png create mode 100644 source/docs/api/html/classf2cc_1_1InvalidModelException-members.html create mode 100644 source/docs/api/html/classf2cc_1_1InvalidModelException.html create mode 100644 source/docs/api/html/classf2cc_1_1InvalidModelException.png create mode 100644 source/docs/api/html/classf2cc_1_1InvalidProcessException-members.html create mode 100644 source/docs/api/html/classf2cc_1_1InvalidProcessException.html create mode 100644 source/docs/api/html/classf2cc_1_1InvalidProcessException.png create mode 100644 source/docs/api/html/classf2cc_1_1Logger-members.html create mode 100644 source/docs/api/html/classf2cc_1_1Logger.html create mode 100644 source/docs/api/html/classf2cc_1_1NotSupportedException-members.html create mode 100644 source/docs/api/html/classf2cc_1_1NotSupportedException.html create mode 100644 source/docs/api/html/classf2cc_1_1NotSupportedException.png create mode 100644 source/docs/api/html/classf2cc_1_1OutOfMemoryException-members.html create mode 100644 source/docs/api/html/classf2cc_1_1OutOfMemoryException.html create mode 100644 source/docs/api/html/classf2cc_1_1OutOfMemoryException.png create mode 100644 source/docs/api/html/classf2cc_1_1ParseException-members.html create mode 100644 source/docs/api/html/classf2cc_1_1ParseException.html create mode 100644 source/docs/api/html/classf2cc_1_1ParseException.png create mode 100644 source/docs/api/html/classf2cc_1_1RuntimeException-members.html create mode 100644 source/docs/api/html/classf2cc_1_1RuntimeException.html create mode 100644 source/docs/api/html/classf2cc_1_1RuntimeException.png create mode 100644 source/docs/api/html/classf2cc_1_1ScheduleFinder-members.html create mode 100644 source/docs/api/html/classf2cc_1_1ScheduleFinder.html create mode 100644 source/docs/api/html/classf2cc_1_1Synthesizer-members.html create mode 100644 source/docs/api/html/classf2cc_1_1Synthesizer.html create mode 100644 source/docs/api/html/classf2cc_1_1Synthesizer_1_1Signal-members.html create mode 100644 source/docs/api/html/classf2cc_1_1Synthesizer_1_1Signal.html create mode 100644 source/docs/api/html/classf2cc_1_1Synthesizer_1_1SignalComparator-members.html create mode 100644 source/docs/api/html/classf2cc_1_1Synthesizer_1_1SignalComparator.html create mode 100644 source/docs/api/html/classf2cc_1_1UnknownArraySizeException-members.html create mode 100644 source/docs/api/html/classf2cc_1_1UnknownArraySizeException.html create mode 100644 source/docs/api/html/classf2cc_1_1UnknownArraySizeException.png create mode 100644 source/docs/api/html/closed.png create mode 100644 source/docs/api/html/coalescedmapsy_8h.html create mode 100644 source/docs/api/html/coalescedmapsy_8h_source.html create mode 100644 source/docs/api/html/config_8h.html create mode 100644 source/docs/api/html/config_8h_source.html create mode 100644 source/docs/api/html/copysy_8h.html create mode 100644 source/docs/api/html/copysy_8h_source.html create mode 100644 source/docs/api/html/cvariable_8h.html create mode 100644 source/docs/api/html/cvariable_8h_source.html create mode 100644 source/docs/api/html/delaysy_8h.html create mode 100644 source/docs/api/html/delaysy_8h_source.html create mode 100644 source/docs/api/html/doxygen.css create mode 100644 source/docs/api/html/doxygen.png create mode 100644 source/docs/api/html/exception_8h.html create mode 100644 source/docs/api/html/exception_8h_source.html create mode 100644 source/docs/api/html/filenotfoundexception_8h.html create mode 100644 source/docs/api/html/filenotfoundexception_8h_source.html create mode 100644 source/docs/api/html/files.html create mode 100644 source/docs/api/html/frontend_8h.html create mode 100644 source/docs/api/html/frontend_8h_source.html create mode 100644 source/docs/api/html/functions.html create mode 100644 source/docs/api/html/functions_0x62.html create mode 100644 source/docs/api/html/functions_0x63.html create mode 100644 source/docs/api/html/functions_0x64.html create mode 100644 source/docs/api/html/functions_0x65.html create mode 100644 source/docs/api/html/functions_0x66.html create mode 100644 source/docs/api/html/functions_0x67.html create mode 100644 source/docs/api/html/functions_0x68.html create mode 100644 source/docs/api/html/functions_0x69.html create mode 100644 source/docs/api/html/functions_0x6b.html create mode 100644 source/docs/api/html/functions_0x6c.html create mode 100644 source/docs/api/html/functions_0x6d.html create mode 100644 source/docs/api/html/functions_0x6e.html create mode 100644 source/docs/api/html/functions_0x6f.html create mode 100644 source/docs/api/html/functions_0x70.html create mode 100644 source/docs/api/html/functions_0x72.html create mode 100644 source/docs/api/html/functions_0x73.html create mode 100644 source/docs/api/html/functions_0x74.html create mode 100644 source/docs/api/html/functions_0x75.html create mode 100644 source/docs/api/html/functions_0x76.html create mode 100644 source/docs/api/html/functions_0x77.html create mode 100644 source/docs/api/html/functions_0x7a.html create mode 100644 source/docs/api/html/functions_0x7e.html create mode 100644 source/docs/api/html/functions_enum.html create mode 100644 source/docs/api/html/functions_eval.html create mode 100644 source/docs/api/html/functions_func.html create mode 100644 source/docs/api/html/functions_func_0x63.html create mode 100644 source/docs/api/html/functions_func_0x64.html create mode 100644 source/docs/api/html/functions_func_0x65.html create mode 100644 source/docs/api/html/functions_func_0x66.html create mode 100644 source/docs/api/html/functions_func_0x67.html create mode 100644 source/docs/api/html/functions_func_0x68.html create mode 100644 source/docs/api/html/functions_func_0x69.html create mode 100644 source/docs/api/html/functions_func_0x6c.html create mode 100644 source/docs/api/html/functions_func_0x6d.html create mode 100644 source/docs/api/html/functions_func_0x6e.html create mode 100644 source/docs/api/html/functions_func_0x6f.html create mode 100644 source/docs/api/html/functions_func_0x70.html create mode 100644 source/docs/api/html/functions_func_0x72.html create mode 100644 source/docs/api/html/functions_func_0x73.html create mode 100644 source/docs/api/html/functions_func_0x74.html create mode 100644 source/docs/api/html/functions_func_0x75.html create mode 100644 source/docs/api/html/functions_func_0x76.html create mode 100644 source/docs/api/html/functions_func_0x7a.html create mode 100644 source/docs/api/html/functions_func_0x7e.html create mode 100644 source/docs/api/html/functions_rela.html create mode 100644 source/docs/api/html/functions_vars.html create mode 100644 source/docs/api/html/globals.html create mode 100644 source/docs/api/html/globals_defs.html create mode 100644 source/docs/api/html/graphmlparser_8h.html create mode 100644 source/docs/api/html/graphmlparser_8h_source.html create mode 100644 source/docs/api/html/hierarchy.html create mode 100644 source/docs/api/html/id_8h.html create mode 100644 source/docs/api/html/id_8h_source.html create mode 100644 source/docs/api/html/illegalcallexception_8h.html create mode 100644 source/docs/api/html/illegalcallexception_8h_source.html create mode 100644 source/docs/api/html/illegalstateexception_8h.html create mode 100644 source/docs/api/html/illegalstateexception_8h_source.html create mode 100644 source/docs/api/html/index.html create mode 100644 source/docs/api/html/indexoutofboundsexception_8h.html create mode 100644 source/docs/api/html/indexoutofboundsexception_8h_source.html create mode 100644 source/docs/api/html/inport_8h.html create mode 100644 source/docs/api/html/inport_8h_source.html create mode 100755 source/docs/api/html/installdox create mode 100644 source/docs/api/html/invalidargumentexception_8h.html create mode 100644 source/docs/api/html/invalidargumentexception_8h_source.html create mode 100644 source/docs/api/html/invalidformatexception_8h.html create mode 100644 source/docs/api/html/invalidformatexception_8h_source.html create mode 100644 source/docs/api/html/invalidmodelexception_8h.html create mode 100644 source/docs/api/html/invalidmodelexception_8h_source.html create mode 100644 source/docs/api/html/invalidprocessexception_8h.html create mode 100644 source/docs/api/html/invalidprocessexception_8h_source.html create mode 100644 source/docs/api/html/ioexception_8h.html create mode 100644 source/docs/api/html/ioexception_8h_source.html create mode 100644 source/docs/api/html/license.html create mode 100644 source/docs/api/html/logger_8h.html create mode 100644 source/docs/api/html/logger_8h_source.html create mode 100644 source/docs/api/html/mapsy_8h.html create mode 100644 source/docs/api/html/mapsy_8h_source.html create mode 100644 source/docs/api/html/model_8h.html create mode 100644 source/docs/api/html/model_8h_source.html create mode 100644 source/docs/api/html/modelmodifier_8h.html create mode 100644 source/docs/api/html/modelmodifier_8h_source.html create mode 100644 source/docs/api/html/namespacef2cc.html create mode 100644 source/docs/api/html/namespacef2cc_1_1Forsyde.html create mode 100644 source/docs/api/html/namespacef2cc_1_1tools.html create mode 100644 source/docs/api/html/namespacemembers.html create mode 100644 source/docs/api/html/namespacemembers_func.html create mode 100644 source/docs/api/html/namespaces.html create mode 100644 source/docs/api/html/nav_f.png create mode 100644 source/docs/api/html/nav_h.png create mode 100644 source/docs/api/html/notsupportedexception_8h.html create mode 100644 source/docs/api/html/notsupportedexception_8h_source.html create mode 100644 source/docs/api/html/open.png create mode 100644 source/docs/api/html/outofmemoryexception_8h.html create mode 100644 source/docs/api/html/outofmemoryexception_8h_source.html create mode 100644 source/docs/api/html/outport_8h.html create mode 100644 source/docs/api/html/outport_8h_source.html create mode 100644 source/docs/api/html/pages.html create mode 100644 source/docs/api/html/parallelmapsy_8h.html create mode 100644 source/docs/api/html/parallelmapsy_8h_source.html create mode 100644 source/docs/api/html/parseexception_8h.html create mode 100644 source/docs/api/html/parseexception_8h_source.html create mode 100644 source/docs/api/html/process_8h.html create mode 100644 source/docs/api/html/process_8h_source.html create mode 100644 source/docs/api/html/runtimeexception_8h.html create mode 100644 source/docs/api/html/runtimeexception_8h_source.html create mode 100644 source/docs/api/html/schedulefinder_8h.html create mode 100644 source/docs/api/html/schedulefinder_8h_source.html create mode 100644 source/docs/api/html/search/all_61.html create mode 100644 source/docs/api/html/search/all_62.html create mode 100644 source/docs/api/html/search/all_63.html create mode 100644 source/docs/api/html/search/all_64.html create mode 100644 source/docs/api/html/search/all_65.html create mode 100644 source/docs/api/html/search/all_66.html create mode 100644 source/docs/api/html/search/all_67.html create mode 100644 source/docs/api/html/search/all_68.html create mode 100644 source/docs/api/html/search/all_69.html create mode 100644 source/docs/api/html/search/all_6b.html create mode 100644 source/docs/api/html/search/all_6c.html create mode 100644 source/docs/api/html/search/all_6d.html create mode 100644 source/docs/api/html/search/all_6e.html create mode 100644 source/docs/api/html/search/all_6f.html create mode 100644 source/docs/api/html/search/all_70.html create mode 100644 source/docs/api/html/search/all_72.html create mode 100644 source/docs/api/html/search/all_73.html create mode 100644 source/docs/api/html/search/all_74.html create mode 100644 source/docs/api/html/search/all_75.html create mode 100644 source/docs/api/html/search/all_76.html create mode 100644 source/docs/api/html/search/all_77.html create mode 100644 source/docs/api/html/search/all_7a.html create mode 100644 source/docs/api/html/search/all_7e.html create mode 100644 source/docs/api/html/search/classes_63.html create mode 100644 source/docs/api/html/search/classes_64.html create mode 100644 source/docs/api/html/search/classes_65.html create mode 100644 source/docs/api/html/search/classes_66.html create mode 100644 source/docs/api/html/search/classes_67.html create mode 100644 source/docs/api/html/search/classes_69.html create mode 100644 source/docs/api/html/search/classes_6c.html create mode 100644 source/docs/api/html/search/classes_6d.html create mode 100644 source/docs/api/html/search/classes_6e.html create mode 100644 source/docs/api/html/search/classes_6f.html create mode 100644 source/docs/api/html/search/classes_70.html create mode 100644 source/docs/api/html/search/classes_72.html create mode 100644 source/docs/api/html/search/classes_73.html create mode 100644 source/docs/api/html/search/classes_75.html create mode 100644 source/docs/api/html/search/classes_7a.html create mode 100644 source/docs/api/html/search/close.png create mode 100644 source/docs/api/html/search/defines_74.html create mode 100644 source/docs/api/html/search/enums_6c.html create mode 100644 source/docs/api/html/search/enums_74.html create mode 100644 source/docs/api/html/search/enumvalues_63.html create mode 100644 source/docs/api/html/search/enumvalues_64.html create mode 100644 source/docs/api/html/search/enumvalues_65.html create mode 100644 source/docs/api/html/search/enumvalues_69.html create mode 100644 source/docs/api/html/search/enumvalues_6c.html create mode 100644 source/docs/api/html/search/enumvalues_73.html create mode 100644 source/docs/api/html/search/enumvalues_75.html create mode 100644 source/docs/api/html/search/enumvalues_77.html create mode 100644 source/docs/api/html/search/files_63.html create mode 100644 source/docs/api/html/search/files_64.html create mode 100644 source/docs/api/html/search/files_65.html create mode 100644 source/docs/api/html/search/files_66.html create mode 100644 source/docs/api/html/search/files_67.html create mode 100644 source/docs/api/html/search/files_69.html create mode 100644 source/docs/api/html/search/files_6c.html create mode 100644 source/docs/api/html/search/files_6d.html create mode 100644 source/docs/api/html/search/files_6e.html create mode 100644 source/docs/api/html/search/files_6f.html create mode 100644 source/docs/api/html/search/files_70.html create mode 100644 source/docs/api/html/search/files_72.html create mode 100644 source/docs/api/html/search/files_73.html create mode 100644 source/docs/api/html/search/files_74.html create mode 100644 source/docs/api/html/search/files_75.html create mode 100644 source/docs/api/html/search/files_7a.html create mode 100644 source/docs/api/html/search/functions_61.html create mode 100644 source/docs/api/html/search/functions_62.html create mode 100644 source/docs/api/html/search/functions_63.html create mode 100644 source/docs/api/html/search/functions_64.html create mode 100644 source/docs/api/html/search/functions_65.html create mode 100644 source/docs/api/html/search/functions_66.html create mode 100644 source/docs/api/html/search/functions_67.html create mode 100644 source/docs/api/html/search/functions_68.html create mode 100644 source/docs/api/html/search/functions_69.html create mode 100644 source/docs/api/html/search/functions_6c.html create mode 100644 source/docs/api/html/search/functions_6d.html create mode 100644 source/docs/api/html/search/functions_6e.html create mode 100644 source/docs/api/html/search/functions_6f.html create mode 100644 source/docs/api/html/search/functions_70.html create mode 100644 source/docs/api/html/search/functions_72.html create mode 100644 source/docs/api/html/search/functions_73.html create mode 100644 source/docs/api/html/search/functions_74.html create mode 100644 source/docs/api/html/search/functions_75.html create mode 100644 source/docs/api/html/search/functions_76.html create mode 100644 source/docs/api/html/search/functions_77.html create mode 100644 source/docs/api/html/search/functions_7a.html create mode 100644 source/docs/api/html/search/functions_7e.html create mode 100644 source/docs/api/html/search/mag_sel.png create mode 100644 source/docs/api/html/search/namespaces_66.html create mode 100644 source/docs/api/html/search/nomatches.html create mode 100644 source/docs/api/html/search/related_6f.html create mode 100644 source/docs/api/html/search/search.css create mode 100644 source/docs/api/html/search/search.js create mode 100644 source/docs/api/html/search/search_l.png create mode 100644 source/docs/api/html/search/search_m.png create mode 100644 source/docs/api/html/search/search_r.png create mode 100644 source/docs/api/html/search/variables_61.html create mode 100644 source/docs/api/html/search/variables_62.html create mode 100644 source/docs/api/html/search/variables_63.html create mode 100644 source/docs/api/html/search/variables_64.html create mode 100644 source/docs/api/html/search/variables_65.html create mode 100644 source/docs/api/html/search/variables_66.html create mode 100644 source/docs/api/html/search/variables_67.html create mode 100644 source/docs/api/html/search/variables_68.html create mode 100644 source/docs/api/html/search/variables_69.html create mode 100644 source/docs/api/html/search/variables_6b.html create mode 100644 source/docs/api/html/search/variables_6c.html create mode 100644 source/docs/api/html/search/variables_6d.html create mode 100644 source/docs/api/html/search/variables_6e.html create mode 100644 source/docs/api/html/search/variables_6f.html create mode 100644 source/docs/api/html/search/variables_70.html create mode 100644 source/docs/api/html/search/variables_72.html create mode 100644 source/docs/api/html/search/variables_73.html create mode 100644 source/docs/api/html/search/variables_74.html create mode 100644 source/docs/api/html/search/variables_75.html create mode 100644 source/docs/api/html/structf2cc_1_1Forsyde_1_1ModelModifier_1_1ContainedSection-members.html create mode 100644 source/docs/api/html/structf2cc_1_1Forsyde_1_1ModelModifier_1_1ContainedSection.html create mode 100644 source/docs/api/html/structf2cc_1_1ScheduleFinder_1_1PartialSchedule-members.html create mode 100644 source/docs/api/html/structf2cc_1_1ScheduleFinder_1_1PartialSchedule.html create mode 100644 source/docs/api/html/structf2cc_1_1Synthesizer_1_1CodeSet-members.html create mode 100644 source/docs/api/html/structf2cc_1_1Synthesizer_1_1CodeSet.html create mode 100644 source/docs/api/html/synthesizer_8h.html create mode 100644 source/docs/api/html/synthesizer_8h_source.html create mode 100644 source/docs/api/html/tab_a.png create mode 100644 source/docs/api/html/tab_b.png create mode 100644 source/docs/api/html/tab_h.png create mode 100644 source/docs/api/html/tab_s.png create mode 100644 source/docs/api/html/tabs.css create mode 100644 source/docs/api/html/todo.html create mode 100644 source/docs/api/html/tools_8h.html create mode 100644 source/docs/api/html/tools_8h_source.html create mode 100644 source/docs/api/html/unknownarraysizeexception_8h.html create mode 100644 source/docs/api/html/unknownarraysizeexception_8h_source.html create mode 100644 source/docs/api/html/unzipxsy_8h.html create mode 100644 source/docs/api/html/unzipxsy_8h_source.html create mode 100644 source/docs/api/html/zipwithnsy_8h.html create mode 100644 source/docs/api/html/zipwithnsy_8h_source.html create mode 100644 source/docs/api/html/zipxsy_8h.html create mode 100644 source/docs/api/html/zipxsy_8h_source.html create mode 100644 source/dox create mode 100644 source/dox.log create mode 100644 source/exceptions/Makefile create mode 100644 source/exceptions/castexception.cpp create mode 100644 source/exceptions/castexception.h create mode 100644 source/exceptions/exception.cpp create mode 100644 source/exceptions/exception.h create mode 100644 source/exceptions/filenotfoundexception.cpp create mode 100644 source/exceptions/filenotfoundexception.h create mode 100644 source/exceptions/illegalcallexception.cpp create mode 100644 source/exceptions/illegalcallexception.h create mode 100644 source/exceptions/illegalstateexception.cpp create mode 100644 source/exceptions/illegalstateexception.h create mode 100644 source/exceptions/indexoutofboundsexception.cpp create mode 100644 source/exceptions/indexoutofboundsexception.h create mode 100644 source/exceptions/invalidargumentexception.cpp create mode 100644 source/exceptions/invalidargumentexception.h create mode 100644 source/exceptions/invalidformatexception.cpp create mode 100644 source/exceptions/invalidformatexception.h create mode 100644 source/exceptions/invalidmodelexception.cpp create mode 100644 source/exceptions/invalidmodelexception.h create mode 100644 source/exceptions/invalidprocessexception.cpp create mode 100644 source/exceptions/invalidprocessexception.h create mode 100644 source/exceptions/ioexception.cpp create mode 100644 source/exceptions/ioexception.h create mode 100644 source/exceptions/notsupportedexception.cpp create mode 100644 source/exceptions/notsupportedexception.h create mode 100644 source/exceptions/outofmemoryexception.cpp create mode 100644 source/exceptions/outofmemoryexception.h create mode 100644 source/exceptions/parseexception.cpp create mode 100644 source/exceptions/parseexception.h create mode 100644 source/exceptions/runtimeexception.cpp create mode 100644 source/exceptions/runtimeexception.h create mode 100644 source/exceptions/unknownarraysizeexception.cpp create mode 100644 source/exceptions/unknownarraysizeexception.h create mode 100644 source/f2cc.cpp create mode 100644 source/forsyde/Makefile create mode 100644 source/forsyde/coalescedmapsy.cpp create mode 100644 source/forsyde/coalescedmapsy.h create mode 100644 source/forsyde/copysy.cpp create mode 100644 source/forsyde/copysy.h create mode 100644 source/forsyde/delaysy.cpp create mode 100644 source/forsyde/delaysy.h create mode 100644 source/forsyde/id.cpp create mode 100644 source/forsyde/id.h create mode 100644 source/forsyde/inport.cpp create mode 100644 source/forsyde/inport.h create mode 100644 source/forsyde/mapsy.cpp create mode 100644 source/forsyde/mapsy.h create mode 100644 source/forsyde/model.cpp create mode 100644 source/forsyde/model.h create mode 100644 source/forsyde/modelmodifier.cpp create mode 100644 source/forsyde/modelmodifier.h create mode 100644 source/forsyde/outport.cpp create mode 100644 source/forsyde/outport.h create mode 100644 source/forsyde/parallelmapsy.cpp create mode 100644 source/forsyde/parallelmapsy.h create mode 100644 source/forsyde/process.cpp create mode 100644 source/forsyde/process.h create mode 100644 source/forsyde/unzipxsy.cpp create mode 100644 source/forsyde/unzipxsy.h create mode 100644 source/forsyde/zipwithnsy.cpp create mode 100644 source/forsyde/zipwithnsy.h create mode 100644 source/forsyde/zipxsy.cpp create mode 100644 source/forsyde/zipxsy.h create mode 100644 source/frontend/Makefile create mode 100644 source/frontend/frontend.cpp create mode 100644 source/frontend/frontend.h create mode 100644 source/frontend/graphmlparser.cpp create mode 100644 source/frontend/graphmlparser.h create mode 100644 source/language/Makefile create mode 100644 source/language/cdatatype.cpp create mode 100644 source/language/cdatatype.h create mode 100644 source/language/cfunction.cpp create mode 100644 source/language/cfunction.h create mode 100644 source/language/cvariable.cpp create mode 100644 source/language/cvariable.h create mode 100644 source/logger/Makefile create mode 100644 source/logger/logger.cpp create mode 100644 source/logger/logger.h create mode 100644 source/namespaces.txt create mode 100644 source/readme.txt create mode 100644 source/synthesizer/Makefile create mode 100644 source/synthesizer/schedulefinder.cpp create mode 100644 source/synthesizer/schedulefinder.h create mode 100644 source/synthesizer/synthesizer.cpp create mode 100644 source/synthesizer/synthesizer.h create mode 100644 source/ticpp/Makefile create mode 100644 source/ticpp/TiCPP.make create mode 100644 source/ticpp/changes.txt create mode 100644 source/ticpp/docs/annotated.html create mode 100644 source/ticpp/docs/bc_s.png create mode 100644 source/ticpp/docs/classTiCppRC-members.html create mode 100644 source/ticpp/docs/classTiCppRC.html create mode 100644 source/ticpp/docs/classTiXmlAttribute-members.html create mode 100644 source/ticpp/docs/classTiXmlAttribute.html create mode 100644 source/ticpp/docs/classTiXmlAttribute.png create mode 100644 source/ticpp/docs/classTiXmlBase-members.html create mode 100644 source/ticpp/docs/classTiXmlBase.html create mode 100644 source/ticpp/docs/classTiXmlBase.png create mode 100644 source/ticpp/docs/classTiXmlComment-members.html create mode 100644 source/ticpp/docs/classTiXmlComment.html create mode 100644 source/ticpp/docs/classTiXmlComment.png create mode 100644 source/ticpp/docs/classTiXmlDeclaration-members.html create mode 100644 source/ticpp/docs/classTiXmlDeclaration.html create mode 100644 source/ticpp/docs/classTiXmlDeclaration.png create mode 100644 source/ticpp/docs/classTiXmlDocument-members.html create mode 100644 source/ticpp/docs/classTiXmlDocument.html create mode 100644 source/ticpp/docs/classTiXmlDocument.png create mode 100644 source/ticpp/docs/classTiXmlElement-members.html create mode 100644 source/ticpp/docs/classTiXmlElement.html create mode 100644 source/ticpp/docs/classTiXmlElement.png create mode 100644 source/ticpp/docs/classTiXmlHandle-members.html create mode 100644 source/ticpp/docs/classTiXmlHandle.html create mode 100644 source/ticpp/docs/classTiXmlNode-members.html create mode 100644 source/ticpp/docs/classTiXmlNode.html create mode 100644 source/ticpp/docs/classTiXmlNode.png create mode 100644 source/ticpp/docs/classTiXmlPrinter-members.html create mode 100644 source/ticpp/docs/classTiXmlPrinter.html create mode 100644 source/ticpp/docs/classTiXmlPrinter.png create mode 100644 source/ticpp/docs/classTiXmlStylesheetReference-members.html create mode 100644 source/ticpp/docs/classTiXmlStylesheetReference.html create mode 100644 source/ticpp/docs/classTiXmlStylesheetReference.png create mode 100644 source/ticpp/docs/classTiXmlText-members.html create mode 100644 source/ticpp/docs/classTiXmlText.html create mode 100644 source/ticpp/docs/classTiXmlText.png create mode 100644 source/ticpp/docs/classTiXmlUnknown-members.html create mode 100644 source/ticpp/docs/classTiXmlUnknown.html create mode 100644 source/ticpp/docs/classTiXmlUnknown.png create mode 100644 source/ticpp/docs/classTiXmlVisitor-members.html create mode 100644 source/ticpp/docs/classTiXmlVisitor.html create mode 100644 source/ticpp/docs/classTiXmlVisitor.png create mode 100644 source/ticpp/docs/classes.html create mode 100644 source/ticpp/docs/classticpp_1_1Attribute-members.html create mode 100644 source/ticpp/docs/classticpp_1_1Attribute.html create mode 100644 source/ticpp/docs/classticpp_1_1Attribute.png create mode 100644 source/ticpp/docs/classticpp_1_1Base-members.html create mode 100644 source/ticpp/docs/classticpp_1_1Base.html create mode 100644 source/ticpp/docs/classticpp_1_1Base.png create mode 100644 source/ticpp/docs/classticpp_1_1Comment-members.html create mode 100644 source/ticpp/docs/classticpp_1_1Comment.html create mode 100644 source/ticpp/docs/classticpp_1_1Comment.png create mode 100644 source/ticpp/docs/classticpp_1_1Declaration-members.html create mode 100644 source/ticpp/docs/classticpp_1_1Declaration.html create mode 100644 source/ticpp/docs/classticpp_1_1Declaration.png create mode 100644 source/ticpp/docs/classticpp_1_1Document-members.html create mode 100644 source/ticpp/docs/classticpp_1_1Document.html create mode 100644 source/ticpp/docs/classticpp_1_1Document.png create mode 100644 source/ticpp/docs/classticpp_1_1Element-members.html create mode 100644 source/ticpp/docs/classticpp_1_1Element.html create mode 100644 source/ticpp/docs/classticpp_1_1Element.png create mode 100644 source/ticpp/docs/classticpp_1_1Exception-members.html create mode 100644 source/ticpp/docs/classticpp_1_1Exception.html create mode 100644 source/ticpp/docs/classticpp_1_1Iterator-members.html create mode 100644 source/ticpp/docs/classticpp_1_1Iterator.html create mode 100644 source/ticpp/docs/classticpp_1_1Node-members.html create mode 100644 source/ticpp/docs/classticpp_1_1Node.html create mode 100644 source/ticpp/docs/classticpp_1_1Node.png create mode 100644 source/ticpp/docs/classticpp_1_1NodeImp-members.html create mode 100644 source/ticpp/docs/classticpp_1_1NodeImp.html create mode 100644 source/ticpp/docs/classticpp_1_1NodeImp.png create mode 100644 source/ticpp/docs/classticpp_1_1StylesheetReference-members.html create mode 100644 source/ticpp/docs/classticpp_1_1StylesheetReference.html create mode 100644 source/ticpp/docs/classticpp_1_1StylesheetReference.png create mode 100644 source/ticpp/docs/classticpp_1_1Text-members.html create mode 100644 source/ticpp/docs/classticpp_1_1Text.html create mode 100644 source/ticpp/docs/classticpp_1_1Text.png create mode 100644 source/ticpp/docs/classticpp_1_1Visitor-members.html create mode 100644 source/ticpp/docs/classticpp_1_1Visitor.html create mode 100644 source/ticpp/docs/classticpp_1_1Visitor.png create mode 100644 source/ticpp/docs/closed.png create mode 100644 source/ticpp/docs/deprecated.html create mode 100644 source/ticpp/docs/doxygen.css create mode 100644 source/ticpp/docs/doxygen.png create mode 100644 source/ticpp/docs/files.html create mode 100644 source/ticpp/docs/functions.html create mode 100644 source/ticpp/docs/functions_0x62.html create mode 100644 source/ticpp/docs/functions_0x63.html create mode 100644 source/ticpp/docs/functions_0x64.html create mode 100644 source/ticpp/docs/functions_0x65.html create mode 100644 source/ticpp/docs/functions_0x66.html create mode 100644 source/ticpp/docs/functions_0x67.html create mode 100644 source/ticpp/docs/functions_0x68.html create mode 100644 source/ticpp/docs/functions_0x69.html create mode 100644 source/ticpp/docs/functions_0x6c.html create mode 100644 source/ticpp/docs/functions_0x6d.html create mode 100644 source/ticpp/docs/functions_0x6e.html create mode 100644 source/ticpp/docs/functions_0x6f.html create mode 100644 source/ticpp/docs/functions_0x70.html create mode 100644 source/ticpp/docs/functions_0x71.html create mode 100644 source/ticpp/docs/functions_0x72.html create mode 100644 source/ticpp/docs/functions_0x73.html create mode 100644 source/ticpp/docs/functions_0x74.html create mode 100644 source/ticpp/docs/functions_0x75.html create mode 100644 source/ticpp/docs/functions_0x76.html create mode 100644 source/ticpp/docs/functions_0x77.html create mode 100644 source/ticpp/docs/functions_0x7e.html create mode 100644 source/ticpp/docs/functions_enum.html create mode 100644 source/ticpp/docs/functions_func.html create mode 100644 source/ticpp/docs/functions_func_0x62.html create mode 100644 source/ticpp/docs/functions_func_0x63.html create mode 100644 source/ticpp/docs/functions_func_0x64.html create mode 100644 source/ticpp/docs/functions_func_0x65.html create mode 100644 source/ticpp/docs/functions_func_0x66.html create mode 100644 source/ticpp/docs/functions_func_0x67.html create mode 100644 source/ticpp/docs/functions_func_0x68.html create mode 100644 source/ticpp/docs/functions_func_0x69.html create mode 100644 source/ticpp/docs/functions_func_0x6c.html create mode 100644 source/ticpp/docs/functions_func_0x6e.html create mode 100644 source/ticpp/docs/functions_func_0x6f.html create mode 100644 source/ticpp/docs/functions_func_0x70.html create mode 100644 source/ticpp/docs/functions_func_0x71.html create mode 100644 source/ticpp/docs/functions_func_0x72.html create mode 100644 source/ticpp/docs/functions_func_0x73.html create mode 100644 source/ticpp/docs/functions_func_0x74.html create mode 100644 source/ticpp/docs/functions_func_0x75.html create mode 100644 source/ticpp/docs/functions_func_0x76.html create mode 100644 source/ticpp/docs/functions_func_0x77.html create mode 100644 source/ticpp/docs/functions_func_0x7e.html create mode 100644 source/ticpp/docs/functions_rela.html create mode 100644 source/ticpp/docs/functions_vars.html create mode 100644 source/ticpp/docs/hierarchy.html create mode 100644 source/ticpp/docs/index.hhc create mode 100644 source/ticpp/docs/index.hhk create mode 100644 source/ticpp/docs/index.hhp create mode 100644 source/ticpp/docs/index.html create mode 100644 source/ticpp/docs/namespaces.html create mode 100644 source/ticpp/docs/namespaceticpp.html create mode 100644 source/ticpp/docs/nav_f.png create mode 100644 source/ticpp/docs/nav_h.png create mode 100644 source/ticpp/docs/open.png create mode 100644 source/ticpp/docs/pages.html create mode 100644 source/ticpp/docs/tab_a.png create mode 100644 source/ticpp/docs/tab_b.png create mode 100644 source/ticpp/docs/tab_h.png create mode 100644 source/ticpp/docs/tab_s.png create mode 100644 source/ticpp/docs/tabs.css create mode 100644 source/ticpp/docs/ticpp.html create mode 100644 source/ticpp/docs/ticppTutorial.html create mode 100644 source/ticpp/docs/ticpp_8h.html create mode 100644 source/ticpp/docs/ticpp_8h_source.html create mode 100644 source/ticpp/docs/ticpprc_8h_source.html create mode 100644 source/ticpp/docs/tinystr_8h_source.html create mode 100644 source/ticpp/docs/tinyxml_8h_source.html create mode 100644 source/ticpp/docs/todo.html create mode 100644 source/ticpp/docs/tutorial0.html create mode 100644 source/ticpp/dox create mode 100644 source/ticpp/readme.txt create mode 100644 source/ticpp/ticpp.cpp create mode 100644 source/ticpp/ticpp.h create mode 100644 source/ticpp/ticpp.lua create mode 100644 source/ticpp/ticpp4.lua create mode 100644 source/ticpp/ticpprc.h create mode 100644 source/ticpp/tinystr.cpp create mode 100644 source/ticpp/tinystr.h create mode 100644 source/ticpp/tinyxml.cpp create mode 100644 source/ticpp/tinyxml.h create mode 100644 source/ticpp/tinyxmlerror.cpp create mode 100644 source/ticpp/tinyxmlparser.cpp create mode 100644 source/ticpp/tutorial_gettingStarted.txt create mode 100644 source/ticpp/tutorial_ticpp.txt create mode 100644 source/tools/Makefile create mode 100644 source/tools/tools.cpp create mode 100644 source/tools/tools.h diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..580fb04 --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +Copyright (c) 2011-2012 Gabriel Hjort Blindell +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OF THIS SOFTWARE NOR THE COPYRIGHT +HOLDERS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE +GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF +THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. \ No newline at end of file diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..99d548d --- /dev/null +++ b/Makefile @@ -0,0 +1,72 @@ +# Copyright (c) 2011-2012 Gabriel Hjort Blindell +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# * Redistributions of source code must retain the above copyright notice, +# this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OF THIS SOFTWARE NOR THE +# COPYRIGHT HOLDERS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +unexport + +SEP = "==============================" +export PREBUILDMSG = "$(SEP)\n Building % module...\n" +export POSTBUILDMSG = " Done.\n$(SEP)\n\n" +export ITEMBUILDMSG = " * %\n" +export PRELINKMSG = "$(SEP)\n Linking...\n" +export POSTLINKMSG = $(POSTBUILDMSG) +export ITEMLINKMSG = " * %\n" +export PREDOCSMSG = "$(SEP)" +export POSTDOCSMSG = " Done.\n$(SEP)\n\n" +export PARTDOCSMSG = "%...\n" + +export TARGET = bin +export TARGETPATH = $(CURDIR)/$(TARGET) +export DOMAKE = $(MAKE) --no-print-directory +TESTMODELSPATH = testmodels +TESTBENCHPATH = testbench + +build: $(TARGET) + @$(DOMAKE) -C ./source + +test_environment: clean build + cp $(TESTMODELSPATH)/*.* $(TARGET) + cp $(TESTBENCHPATH)/*.* $(TARGET) + +docs: + @$(DOMAKE) -C ./source docs + +help: + @printf "Usage:" + @printf + @printf "make: same as 'make build'" + @printf "make build: builds the entire f2cc" + @printf "make docs: generates the Doxygen API" + +$(TARGET): + @mkdir -p $(TARGET) + +clean: preclean doclean + @printf $(POSTBUILDMSG) + +preclean: + @printf $(subst Building % module,Cleaning modules,$(PREBUILDMSG)) + +doclean: + @rm -rf $(TARGET) + +.PHONY: clean preclean doclean all $(TARGET) docs diff --git a/source/Makefile b/source/Makefile new file mode 100644 index 0000000..44ea1af --- /dev/null +++ b/source/Makefile @@ -0,0 +1,83 @@ +# Copyright (c) 2011-2012 Gabriel Hjort Blindell +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# * Redistributions of source code must retain the above copyright notice, +# this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OF THIS SOFTWARE NOR THE +# COPYRIGHT HOLDERS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +SRCFILES = f2cc.cpp +OBJECTS = $(addprefix $(OBJPATH)/, \ + $(addsuffix .o, $(basename $(SRCFILES))) \ + ) +EXEC_ = f2cc +EXEC = $(addprefix $(TARGETPATH)/, $(EXEC_)) + +DEPENDENCIES = ticpp exceptions tools logger forsyde language frontend config \ + synthesizer +DEPOBJECTS = $(addprefix $(OBJPATH)/, \ + $(addsuffix /*.o, $(basename $(DEPENDENCIES))) \ + ) + +export LIBPATH = $(TARGETPATH)/lib +export OBJPATH = $(TARGETPATH)/obj + +export CC = g++ +export CCFLAGS = -Wall \ + -DSVNVERSION="\"`svnversion`\"" +export LDFLAGS = +export AR = ar +export ARFLAGS = crf + +all: $(LIBPATH) $(OBJPATH) link + +link: build prelink + @printf $(subst %,$(EXEC_),$(ITEMLINKMSG)) + @$(CC) $(CCFLAGS) $(LDFLAGS) -o $(TARGETPATH)/$(EXEC_) $(OBJECTS) \ + $(DEPOBJECTS) + @printf $(POSTLINKMSG) + +prelink: + @printf $(PRELINKMSG) + +build: $(DEPENDENCIES) prebuild $(OBJECTS) + @printf $(POSTBUILDMSG) + +prebuild: + @printf $(subst %,core,$(PREBUILDMSG)) + +$(LIBPATH) $(OBJPATH): + @mkdir -p $@ + +$(DEPENDENCIES): + @$(DOMAKE) -C ./$@ + +$(OBJPATH)/%.o: %.cpp + @printf $(subst %,$<,$(ITEMBUILDMSG)) + @$(CC) $(CCFLAGS) -o $@ -c $< + +docs: predocs + @printf $(subst %,Building API,$(PARTDOCSMSG)) + @doxygen dox + @printf $(POSTDOCSMSG) + @cat dox.log + +predocs: + @printf $(PREDOCSMSG) + +.PHONY: prebuild $(LIBPATH) $(OBJPATH) docs predocs $(DEPENDENCIES) diff --git a/source/config/Makefile b/source/config/Makefile new file mode 100644 index 0000000..d772dfe --- /dev/null +++ b/source/config/Makefile @@ -0,0 +1,44 @@ +# Copyright (c) 2011-2012 Gabriel Hjort Blindell +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# * Redistributions of source code must retain the above copyright notice, +# this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OF THIS SOFTWARE NOR THE +# COPYRIGHT HOLDERS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +MODULE = config +SRCFILES = config.cpp +THISOBJPATH = $(OBJPATH)/$(MODULE) +OBJECTS = $(addprefix $(THISOBJPATH)/, \ + $(addsuffix .o, $(basename $(SRCFILES))) \ + ) + +build: $(THISOBJPATH) prebuild $(OBJECTS) + @printf $(POSTBUILDMSG) + +$(THISOBJPATH): + @mkdir -p $@ + +prebuild: + @printf $(subst %,$(MODULE),$(PREBUILDMSG)) + +$(THISOBJPATH)/%.o: %.cpp %.h + @printf $(subst %,$<,$(ITEMBUILDMSG)) + @$(CC) $(CCFLAGS) -o $@ -c $< + +.PHONY: prebuild $(THISOBJPATH) diff --git a/source/config/config.cpp b/source/config/config.cpp new file mode 100644 index 0000000..8fbaff7 --- /dev/null +++ b/source/config/config.cpp @@ -0,0 +1,438 @@ +/* + * Copyright (c) 2011-2012 Gabriel Hjort Blindell + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OF THIS SOFTWARE NOR THE + * COPYRIGHT HOLDERS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; + * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include "config.h" +#include "../tools/tools.h" +#include "../exceptions/invalidargumentexception.h" +#include + +using namespace f2cc; +using std::string; +using std::vector; + +Config::Config() throw() { + setDefaults(); +} + +Config::Config(int argc, const char** argv) throw(InvalidArgumentException, + InvalidFormatException) { + setDefaults(); + setFromCommandLine(argc, argv); +} + +Config::~Config() throw() {} + +bool Config::doPrintHelpMenu() const throw() { + return do_print_help_; +} + +string Config::getHelpMenu() const throw() { + const size_t maximum_line_length = 80; + string part; + string str = string() + + "Developer: Gabriel Hjort Blindell \n" + + "KTH - Royal Institute of Technology, Stockholm, Sweden\n" + + "Copyright (c) 2011-2012\n" + + "\n"; + + part = "This tool is part of the ForSyDe framework for synthesizing " + "programs modeled at a high level of abstraction into compilable C or " + "CUDA C code. The synthesis process is semantic-preserving which means " + "that a model which is proven to be correct will also yield correct C " + "or CUDA C code.\n" + "\n" + "The tool expects the model to be represented as a GraphML file. " + "Currently, the tool supports the following processes:\n"; + tools::breakLongLines(part, maximum_line_length, 0); + part += "" + " * MapSY\n" + " * ParallelMapSY\n" + " * ZipWithNSY\n" + " * UnzipxSY\n" + " * ZipxSY\n" + " * DelaySY\n" + "\n"; + str += part; + + part = "f2cc accepts the following command options:\n"; + str += part; + + size_t indents = 6; + + part = " -o FILE, --output-file=FILE\n" + " Specifies the output files. Default file names are the same as " + "the input file but with different file extensions." + "\n\n"; + tools::breakLongLines(part, maximum_line_length, indents); + str += part; + + part = " -tp PLATFORM, --target-platform=PLATFORM\n" + " Specifies the target platform which will affect the kind of " + "code generated. Valid options are C and CUDA." + "\n\n"; + tools::breakLongLines(part, maximum_line_length, indents); + str += part; + + part = " -no-pc, --no-process-coalescing\n" + " CUDA ONLY. Specifies that the tool should not coalesce " + "processes, even " + "when it is possible to do so for the given input model." + "\n\n"; + tools::breakLongLines(part, maximum_line_length, indents); + str += part; + + part = " -use-sm-i, --use-shared-memory-for-input\n" + " CUDA ONLY. Specifies that the synthesized code should make use " + "of shared memory for the input data." + "\n\n"; + tools::breakLongLines(part, maximum_line_length, indents); + str += part; + + part = " -lf FILE, --log-file=FILE\n" + " Specifies the path to the log file. Default setting is " + "output.log." + "\n\n"; + tools::breakLongLines(part, maximum_line_length, indents); + str += part; + + part = " -ll=LEVEL, --log-file=LEVEL\n" + " Specifies the log level. This affects how verbose the tool is " + "in its logging and prompt output. Valid options are CRITICAL, ERROR, " + "WARNING, INFO, and DEBUG. Default setting is INFO." + "\n\n"; + tools::breakLongLines(part, maximum_line_length, indents); + str += part; + + part = " -v, --version\n" + " Prints the version." + "\n\n"; + tools::breakLongLines(part, maximum_line_length, indents); + str += part; + + part = " -h, --help\n" + " Prints this menu." + "\n\n"; + tools::breakLongLines(part, maximum_line_length, indents); + str += part; + + part = "Report bugs to: \n"; + str += part; + + return str; +} + +bool Config::doPrintVersion() const throw() { + return do_print_version_; +} + +string Config::getInputFile() const throw() { + return input_file_; +} + +void Config::setInputFile(string file) throw() { + input_file_ = file; +} + +string Config::getHeaderOutputFile() const throw() { + return tools::getFileName(output_file_) + ".h"; +} + +string Config::getImplementationOutputFile() const throw() { + return output_file_; +} + +void Config::setOutputFile(string file) throw() { + output_file_ = file; +} + +string Config::getLogFile() const throw() { + return log_file_; +} + +void Config::setLogFile(string file) throw() { + log_file_ = file; +} + +Logger::LogLevel Config::getLogLevel() const throw() { + return log_level_; +} + +void Config::setLogLevel(Logger::LogLevel level) throw() { + log_level_ = level; +} + +void Config::setDefaults() throw() { + do_print_help_ = false; + do_print_version_ = false; + log_file_ = "output.log"; + log_level_ = Logger::INFO; + do_data_parallel_process_coalescing_ = true; + use_shared_memory_for_input_ = false; + use_shared_memory_for_output_ = false; + target_platform_ = Config::CUDA; +} + +void Config::setFromCommandLine(int argc, const char** argv) + throw(InvalidArgumentException, InvalidFormatException) { + if (!argv) { + THROW_EXCEPTION(InvalidArgumentException, "\"argv\" must not be NULL"); + } + + try { + bool found_input_file = false; + bool is_output_file_set = false; + for (int index = 1; index < argc; ++index) { + string current_str = argv[index]; + bool isLast = index == argc - 1; + if (!isOption(current_str) && isLast) { + input_file_ = current_str; + found_input_file = true; + } + else { + if (!isOption(current_str)) { + THROW_EXCEPTION(InvalidFormatException, string("\"") + + current_str + "\" is not an option"); + } + + // Extract option (and argument if it is composite) from string + string option, argument; + if (isCompositeOption(current_str)) { + vector splitted = tools::split(current_str, '='); + if (splitted.size() > 2) { + THROW_EXCEPTION(InvalidFormatException, + string("Multiple assignments ('=') on ") + + "option \"" + splitted[0] + "\""); + } + option = splitted[0]; + if (splitted.size() == 2) argument = splitted[1]; + } + else { + option = current_str; + } + + // Set boolean flags + bool isNextStrOption = isLast ? false + : isOption(argv[index + 1]); + bool has_argument; + if (isCompositeOption(option)) { + has_argument = argument.size() > 0; + } + else { + has_argument = !isLast && !isNextStrOption; + } + + // Analyze option + if (option == "-h" || option == "--help") { + do_print_help_ = true; + } + else if (option == "-v" || option == "--version") { + do_print_version_ = true; + } + else if (option == "-ll" || option == "--log-level") { + if (has_argument) { + if (!isCompositeOption(option)) { + argument = argv[index + 1]; + ++index; + } + } + else { + THROW_EXCEPTION(InvalidFormatException, + "No log level argument"); + } + + try { + tools::toUpperCase(argument); + log_level_ = Logger::stringToLogLevel(argument); + } + catch (InvalidArgumentException& ex) { + THROW_EXCEPTION(InvalidFormatException, + ex.getMessage()); + } + } + else if (option == "-lf" || option == "--log-file") { + if (has_argument) { + if (!isCompositeOption(option)) { + argument = argv[index + 1]; + ++index; + } + } + else { + THROW_EXCEPTION(InvalidFormatException, + "No log file argument"); + } + + log_file_ = argument; + } + else if (option == "-tp" || option == "--target-platform") { + if (has_argument) { + if (!isCompositeOption(option)) { + argument = argv[index + 1]; + ++index; + } + } + else { + THROW_EXCEPTION(InvalidFormatException, + "No target platform argument"); + } + + tools::toLowerCase(argument); + if (argument == "c") { + target_platform_ = Config::C; + } + else if (argument == "cuda") { + target_platform_ = Config::CUDA; + } + else { + THROW_EXCEPTION(InvalidFormatException, + "Invalid target platform argument"); + } + } + else if (option == "-o" || option == "--output-file") { + if (has_argument) { + if (!isCompositeOption(option)) { + argument = argv[index + 1]; + ++index; + } + } + else { + THROW_EXCEPTION(InvalidFormatException, + "No output file argument"); + } + + output_file_ = argument; + is_output_file_set = true; + } + else if (option == "-no-pc" + || option == "--no-process-coalescing") { + do_data_parallel_process_coalescing_ = false; + } + else if (option == "-use-sm-i" + || option == "--use-shared-memory-for-input") { + use_shared_memory_for_input_ = true; + } + /* + // Usage of shared memory for output data is not yet supported + else if (option == "-use-sm-o" + || option == "--use-shared-memory-for-output") { + use_shared_memory_for_output_ = true; + } + */ + else { + THROW_EXCEPTION(InvalidFormatException, + string("Unknown command option \"") + option + + "\""); + } + } + } + + if (!found_input_file && !do_print_help_ && !do_print_version_) { + THROW_EXCEPTION(InvalidFormatException, "No input file"); + } + if (!is_output_file_set) { + output_file_ = tools::getFileName(input_file_); + switch (target_platform_) { + case C: { + output_file_ += ".c"; + break; + } + case CUDA: { + output_file_ += ".cu"; + break; + } + } + } + } + catch(InvalidFormatException& ex) { + THROW_EXCEPTION(InvalidFormatException, ex.getMessage() + + "\nRerun program with option \"-h\" for help menu"); + } +} + +bool Config::doDataParallelProcessCoalesing() const throw() { + return do_data_parallel_process_coalescing_; +} + +void Config::setDoDataParallelProcessCoalesing(bool setting) throw() { + do_data_parallel_process_coalescing_ = setting; +} + +bool Config::useSharedMemoryForInput() const throw() { + return use_shared_memory_for_input_; +} + +void Config::setUseSharedMemoryForInput(bool setting) throw() { + use_shared_memory_for_input_ = setting; +} + +bool Config::useSharedMemoryForOutput() const throw() { + return use_shared_memory_for_output_; +} + +void Config::setUseSharedMemoryForOutput(bool setting) throw() { + use_shared_memory_for_output_ = setting; +} + +Config::TargetPlatform Config::getTargetPlatform() const throw() { + return target_platform_; +} + +void Config::setTargetPlatform(Config::TargetPlatform platform) throw() { + target_platform_ = platform; +} + +bool Config::isOption(const string& str) const throw() { + return str.substr(0, 1) == "-"; +} + +bool Config::isCompositeOption(const string& str) const throw() { + if (str.length() < 2) return false; + return str.substr(0, 2) == "--"; +} + +string Config::getVersion() throw() { + return "0.1"; +} + +string Config::getSvnRevision() throw() { +#ifdef SVNVERSION + string svn_str(SVNVERSION); + + // If the SVN revision string consists of two numbers, remove the first + size_t colon_pos = svn_str.find(':'); + if (colon_pos != string::npos) { + svn_str = svn_str.erase(0, colon_pos + 1); + } + + // Remove trailing no-numeric characters, if any + while (svn_str.length() > 0 + && !tools::isNumeric(svn_str.substr(svn_str.length() - 1))) { + svn_str.erase(svn_str.length() - 1); + } + + return svn_str; +#else + return "Unknown"; +#endif +} diff --git a/source/config/config.h b/source/config/config.h new file mode 100644 index 0000000..8375498 --- /dev/null +++ b/source/config/config.h @@ -0,0 +1,363 @@ +/* + * Copyright (c) 2011-2012 Gabriel Hjort Blindell + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OF THIS SOFTWARE NOR THE + * COPYRIGHT HOLDERS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; + * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#ifndef F2CC_SOURCE_CONFIG_CONFIG_H_ +#define F2CC_SOURCE_CONFIG_CONFIG_H_ + +/** + * @file + * @author Gabriel Hjort Blindell + * @version 0.1 + * + * @brief Defines a class for containing program settings. + */ + +#include "../logger/logger.h" +#include "../exceptions/invalidformatexception.h" +#include "../exceptions/invalidargumentexception.h" +#include + +namespace f2cc { + +/** + * @brief Defines a class for containing program settings. + * + * The \c Config class provides methods for accessing the program-related + * settings. The settings are usually given through the command-line and there + * is a special constructor for parsing the command-line into a \c Config + * object. + */ +class Config { + public: + /** + * Denotes the target platform to which the ForSyDe model is to be + * synthesized. + */ + enum TargetPlatform { + /** + * Sequential C code, where no processes are executed in parallel. + */ + C, + + /** + * Sequential C code annotaded with CUDA directives, where data parallel + * processes are executed in parallel. + */ + CUDA + }; + + /** + * Creates a configuration with default settings. + */ + Config() throw(); + + /** + * Creates a configuration using settings from the command + * line. Non-specified settings use default values. + * + * @param argc + * Number of arguments. + * @param argv + * Array of char arrays. + * @throws InvalidArgumentException + * When \c argc is less than 1 or when \c argv is NULL. + * @throws InvalidFormatException + * When the command line contains errors. + */ + Config(int argc, const char** argv) + throw(InvalidArgumentException, InvalidFormatException); + + /** + * Destroys this configuration. + */ + ~Config() throw(); + + /** + * Gets whether the user requested the help menu be printed. Default value + * is \c false. + * + * @returns \c true if the help menu should be printed. + */ + bool doPrintHelpMenu() const throw(); + + /** + * Gets whether the user requested the version be printed. Default value is + * \c false. + * + * @returns \c true if the help menu should be printed. + */ + bool doPrintVersion() const throw(); + + /** + * Gets the help menu. + * + * @returns Help menu. + */ + std::string getHelpMenu() const throw(); + + /** + * Gets the input file path. Default value is empty string. + * + * @returns Input file path. + */ + std::string getInputFile() const throw(); + + /** + * Sets the input file path. + * + * @param file + * Input file path. + */ + void setInputFile(std::string file) throw(); + + /** + * Gets the header output file path. Default value is the same name + * as the input file but with a different extension. + * + * @returns Header output file path. + */ + std::string getHeaderOutputFile() const throw(); + + /** + * Gets the implementation output file path. Default value is the same name + * as the input file but with a different extension. + * + * @returns Implementation output file path. + */ + std::string getImplementationOutputFile() const throw(); + + /** + * Sets the output file path. + * + * @param file + * Output file path. + */ + void setOutputFile(std::string file) throw(); + + /** + * Gets the log file path. Default file path is "output.log". + * + * @returns Log file path + */ + std::string getLogFile() const throw(); + + /** + * Sets the log file path + * + * @param file + * Log file path. + */ + void setLogFile(std::string file) throw(); + + /** + * Gets the log level. Default level is Logger::INFO. + * + * @returns Log level. + */ + Logger::LogLevel getLogLevel() const throw(); + + /** + * Sets the log level. + * + * @param level + * Log level. + */ + void setLogLevel(Logger::LogLevel level) throw(); + + /** + * Gets whether data parallel processes in the model should be coalesced. + * Default setting is \c true. + * + * @returns \c true if such action should be performed. + */ + bool doDataParallelProcessCoalesing() const throw(); + + /** + * Sets whether data parallel processes in the model should be coalesced. + * + * @param setting + * New setting. + */ + void setDoDataParallelProcessCoalesing(bool setting) throw(); + + /** + * Gets whether the shared memory on the device shall be used for input data + * in the synthesized CUDA code. Default setting is \c false. + * + * @returns \c true if the shared memory is to be used. + */ + bool useSharedMemoryForInput() const throw(); + + /** + * Sets whether the shared memory should be used for input data. + * + * @param setting + * New setting. + */ + void setUseSharedMemoryForInput(bool setting) throw(); + + /** + * Same as useSharedMemoryForInput() but for output data. + * + * @returns \c true if the shared memory is to be used. + */ + bool useSharedMemoryForOutput() const throw(); + + /** + * Same as setUseSharedMemoryForInput(bool) but for output data. + * + * @param setting + * New setting. + */ + void setUseSharedMemoryForOutput(bool setting) throw(); + + /** + * Gets the target platform. Default platform is Config::CUDA. + * + * @returns Target platform. + */ + TargetPlatform getTargetPlatform() const throw(); + + /** + * Sets the target platform. + * + * @param platform + * Target platform. + */ + void setTargetPlatform(TargetPlatform platform) throw(); + + /** + * Parses the command line and sets its specified settings to this + * configuration. + * + * @param argc + * Number of arguments. + * @param argv + * Array of char arrays. + * @throws InvalidArgumentException + * When \c argc is less than 1 or when \c argv is NULL. + * @throws InvalidFormatException + * When the command line contains errors. + */ + void setFromCommandLine(int argc, const char** argv) + throw(InvalidArgumentException, InvalidFormatException); + + /** + * Gets the program version. + * + * @returns Program version. + */ + static std::string getVersion() throw(); + + /** + * Gets the SVN revision number. + * + * @returns SVN revision. + */ + static std::string getSvnRevision() throw(); + + private: + /** + * Sets all settings to default values. + */ + void setDefaults() throw(); + + /** + * Checks whether a string is an option. + * + * @param str + * String to check. + * @returns \c true if the string starts with a '-'. + */ + bool isOption(const std::string& str) const throw(); + + /** + * Checks whether a string is a composite option, which is of the format + * "--